小编val*_*ati的帖子

OpenCV C++:如何通过uchar数据指针访问像素值CV_32F

简而言之,我想知道是否可以通过Mat成员"uchar*data"直接访问CV_32F Mat的像素值.

如果Mat是CV_8U,我可以毫无问题地做到这一点,例如:

// a matrix 5 columns and 6 rows, values in [0,255], all elements initialised at 12
cv:Mat A;
A.create(5,6, CV_8UC1);
A = cv::Scalar(12);

//here I successfully access to pixel [4,5]
uchar *p = A.data;
int value = (uchar) p[4*A.step + 5];
Run Code Online (Sandbox Code Playgroud)

问题是当我尝试使用以下矩阵执行相同的操作时,

// a matrix 5 columns, 6 rows, values in [0.0, 1.0], all elements initialised at 1.2
cv::Mat B;
B.create(5,6, CV_32FC1);
B = cv::Scalar(1.2);

//this clearly does not work, no syntax error but erroneous value reported! …
Run Code Online (Sandbox Code Playgroud)

opencv

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

警告(theano.sandbox.cuda):已安装CUDA,但设备gpu不可用(错误:cuda不可用)

在Ubuntu MATE 16.04我试图使用GPU在这里运行深度学习的python示例:

使用GPU测试Theano

我确实运行了示例代码,

THEANO_FLAGS=mode=FAST_RUN,device=gpu,floatX=float32 python check1.py
Run Code Online (Sandbox Code Playgroud)

但它似乎是使用CPU而不是GPU.这是终端输出的最后一部分:

WARNING (theano.sandbox.cuda): CUDA is installed, but device gpu0 is not  available  (error: cuda unavailable)
...
Used the cpu
Run Code Online (Sandbox Code Playgroud)

我也尝试运行此代码:

THEANO_FLAGS=device=cuda0 python check1.py
Run Code Online (Sandbox Code Playgroud)

但输出是:

ERROR (theano.sandbox.gpuarray): pygpu was configured but could not be imported
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/theano/sandbox/gpuarray/__init__.py", line 20, in <module>
    import pygpu
ImportError: No module named pygpu
...
used cpu
Run Code Online (Sandbox Code Playgroud)

我从apt安装了cuda工具包.这里有(希望)有用的数据:

python --version
Python 2.7.12

g++ -v
gcc version 5.4.0

nvcc --version
Cuda compilation tools, release 7.5, …
Run Code Online (Sandbox Code Playgroud)

python theano theano-cuda

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

如何在Opencv中获得颜色格式?

在C ++中,如何从对象cv::Mat或对象中获取颜色格式(例如RGB或BGR)cv::IplImage

opencv iplimage

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

标签 统计

opencv ×2

iplimage ×1

python ×1

theano ×1

theano-cuda ×1