小编Phy*_*ist的帖子

如何在树莓派中设置相机以拍摄黑白图像?

有没有什么方法可以在树莓派中设置相机拍摄黑白图像?,比如在 picamera 库中使用一些命令/代码?

由于我需要比较几张不同图像的相对光强度,我担心当物体处于不同光照时,相机会自己进行一些调整,所以即使我稍后将图像转换为黑白图像对象的“真实”黑白图像将丢失。

谢谢

编辑:基本上我需要做的是在相机位置固定时捕获物体的一些图像,但是光源的位置发生了变化(因此照明方向也发生了变化)。然后对于图像上的每个点,我需要比较不同图像的相对光强度。只要所有图像的光强度或“亮度”相对于相同的比例,就可以,但我不确定是否是这种情况。我确定当图像“固有地”更暗或更亮时,相机是否会自动调整诸如对比度之类的东西。

python camera camera-calibration raspberry-pi

2
推荐指数
1
解决办法
2万
查看次数

在 C++ 中找到满足给定条件的向量元素的位置

我正在学习c++,我想在c++中实现以下python代码:

C = np.where(A>B)[0]
while len(C)>0:
    d = C[0]
    # do something to A[d] and B[d]
    C = A>B
Run Code Online (Sandbox Code Playgroud)

AB都是相同长度的向量。在 C++ 中,我知道如何声明、初始化AB使用vector,并为 A 和 B 实现中间的“做某事部分”,但我不知道如何比较它们并检查是否A有大于 的元素B,并找到索引发生这种情况的元素。

c++ python pointers vector stdvector

1
推荐指数
1
解决办法
1320
查看次数

数组与标量中的python赋值

我有一个2D数组A形状(4,3)和一维a形状的数组(4,).我想交换前两行A,以及前两行中的元素a.我做了以下事情:

A[0,:],A[1,:] = A[1,:],A[0,:]
a[0],a[1] = a[1],a[0]
Run Code Online (Sandbox Code Playgroud)

显然,它适用于a,但失败了A.现在,第二行成为第一行,但第一行保持不变.如果我执行以下操作:

first_row_copy = A[0,:].copy()
A[0,:] = A[1,:]
A[1,:] = first_row_copy
Run Code Online (Sandbox Code Playgroud)

然后,它似乎工作.为什么第一种方法不起作用?(但适用于a)另外,A_copy = A[0,:].copy()和之间的区别是A_copy = A[0,:]什么?

python arrays numpy variable-assignment copy-assignment

1
推荐指数
1
解决办法
133
查看次数

Python中的字符串格式,带有可变数字参数

我有一个dict看起来像

A = {
    'test1':{'q0':[0.123,0.234],'phi0':[0.124,0.4325],'m':[9.42,0.3413]},
    'test2':{'q0':[0.343,0.353],'phi0':[0.2341,0.235]},
    'test3':{'q0':[0.343,0.353],'phi0':[0.2341,0.235],'m':[0.325,0.325],'z0':[0.234,0.314]}
    }
Run Code Online (Sandbox Code Playgroud)

我想打印每个字典:

'test1':                 q0=0.123(0.234) phi0=0.123(0.4325) m=9.42(0.3413)
'test2':                 q0=0.343(0.353) phi0=0.2341(0.235)
'test3': z0=0.234(0.314) q0=0.343(0.353) phi0=0.2341(0.235) m=0.325(0.325)
Run Code Online (Sandbox Code Playgroud)

如何在Python 3中使用string.format()?由于每个子字典都有可变数量的'参数',我不知道如何使用一些列表/字典理解来完成它.另外,如果我想留下一些空间,如果该参数缺失如图所示,我该怎么做?每个字典最多有五个不同的参数(q0,phi0,m,c,z0).我把它打印到终端,所以我不需要非常花哨的东西,但我希望它更可读.

python string format dictionary python-3.x

1
推荐指数
1
解决办法
610
查看次数

将python类翻译成cython

我在Python中有以下代码:

class DisjointSet:
    def __init__(self, n):
        self.parent = list(range(n))
        self.rank = [0 for x in range(n)]

    def find(self, v):
        if v != self.parent[v]:
            self.parent[v] = self.find(self.parent[v])
        return self.parent[v]
Run Code Online (Sandbox Code Playgroud)

其余代码在"代码复杂性"方面类似,此处不包括在内.

所以我想将上面的代码翻译成cython代码(我知道一点C++,我设法将我的所有代码翻译成C++,但我想尝试cython,看看它与c ++和python的比较).我有类似的东西:

disjointset.pyx:

# distutils: language=c++
from libcpp.vector cimport vector

cdef class DisjointSet:
    cpdef public vector[int] parent, rank

    def __init__(self, int n):
        for i in range(n):
            self.parent.push_back(i)
            self.rank.push_back(0)

    def find(self, int v):
        if v != self.parent[v]:
            self.parent[v] = self.find(self.parent[v])
        return self.parent[v]
Run Code Online (Sandbox Code Playgroud)

setup.py:

from distutils.core import setup
from Cython.Build import cythonize

setup( …
Run Code Online (Sandbox Code Playgroud)

python cython cythonize

1
推荐指数
1
解决办法
133
查看次数