小编Pra*_*uti的帖子

在OpenCV中的功能,可以同时查找任何一个维度(行/列)的均值/平均值

我知道有mean()用于c ++和cvAvgC的Opencv函数,它们可以找到所有通道的平均图像.我需要在一个方向上找到图像的所有通道的平均值/平均值,即在所有列上的平均值(结果:单行向量)和所有行的平均值(结果:单列向量).是否有任何功能或有效的方法(可能没有分割通道或使用for循环)这样做?

c++ opencv

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

imwrite 合并图像:添加 alpha 通道后写入图像 opencv python

我想更改图像的背景并向其添加 Alpha 通道,然后再将其保存为 png 文件。

imshow显示图像,但imwrite写入空图像。合并后的尺寸也是正确的,即合并后的图像(x,y,4)在打印时具有img_a.shape

图像深度为uint8. 我尝试将其更改为float32然后除以255但似乎没有任何效果。我缺少一些基本的东西。

我应该怎么做才能imwrite用 alpha 通道写入正确的 png ?我尝试cv2.merge过并且np.dstackimwrite写失败。用 gimp 打开它时,它显示一层。

以下是我的代码。

imgo = cv2.imread('PCP_1.jpg')
image = cv2.GaussianBlur(imgo, (5, 5), 0)
r = image.shape[0]
c = image.shape[1]
shp = (r,c,1)
c_red, c_green, c_blue = cv2.split(image)
#c_red = c_red.astype(np.float32)
#c_green =c_green.astype(np.float32)
#c_blue = c_blue.astype(np.float32)
alphachn = np.zeros(shp)
#alphachn = alphachn.astype(np.float32)
img_a = cv2.merge((c_red, c_green, c_blue, alphachn))
#img_a …
Run Code Online (Sandbox Code Playgroud)

opencv numpy image python-2.7

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

vector <Mat> :: size()工作繁琐

我有一个Mat类型的矢量,大小为1 x 720 x 3,即一行,720列和3个通道.我检查了尺寸如下

vector<Mat> image_rows_avg;
cout<<image_rows_avg[0].size;
Run Code Online (Sandbox Code Playgroud)

它给出了一些像0x918840的值.可能这.size()是在给一些地址.所以我试着去做

cout<<image_rows_avg[0].size[0]; 这给了ans: 1

cout<<image_rows_avg[0].size[1];给出ans:720哪个是正确的,再次 cout<<image_rows_avg[0].size[2];给出了ans:159187328又一次垃圾.

我无法理解这是怎么回事.我认为.size()应该直接给出矢量的大小.

c++ opencv

-5
推荐指数
1
解决办法
247
查看次数

标签 统计

opencv ×3

c++ ×2

image ×1

numpy ×1

python-2.7 ×1