3
A
回答
1
根据您在评论中提供的链接,这就是我相信你正在试图做的。
您想创建一个具有n个元素的数组,其中n是输入图像中的列数。数组的第n个元素的值是第n列中所有像素的总和。
您可以通过循环遍历输入图像的列来计算此数组,使用cvGetSubRect访问该列中的像素,并使用cvSum来对这些像素进行求和。
下面是一些Python代码,不会说,假设一个灰度图像:
import cv
def verticalProjection(img):
"Return a list containing the sum of the pixels in each column"
(w,h) = cv.GetSize(img)
sumCols = []
for j in range(w):
col = cv.GetSubRect(img, (j,0,1,h))
sumCols.append(cv.Sum(col)[0])
return sumCols
5
The most efficient办法做到这一点是使用cvReduce功能。有一个参数允许您选择是否需要水平或垂直投影。
1
更新carnieri答案(CV一些功能不工作今天)
import numpy as np
import cv2
def verticalProjection(img):
"Return a list containing the sum of the pixels in each column"
(h, w) = img.shape[:2]
sumCols = []
for j in range(w):
col = img[0:h, j:j+1] # y1:y2, x1:x2
sumCols.append(np.sum(col))
return sumCols
问候。
相关问题
- 1. 直方图opencv
- 2. OpenCV中曲线的垂直和水平投影
- 3. IE7垂直和水平图像居中
- 4. 垂直和水平方向的中心图像
- 5. Python如何用HoughLines和OpenCV检测图像中的垂直和水平线?
- 6. 基于OpenCV中心的直方图
- 7. OpenCV中的直方图函数
- 8. OpenCV直方图蒙版
- 9. 高图 - 垂直和水平的梯度
- 10. WPF中水平垂直WrapPanel
- 11. 谷值检测的平滑一维直方图(OpenCV)
- 12. 直方图平滑
- 13. 使用python-opencv的水平和垂直边缘配置文件
- 14. 混合垂直和水平布局(水平布局类图)
- 15. 垂直到水平?
- 16. XtraTabbedMdiManager布局(平铺垂直,水平平铺,平铺水平)
- 17. 在opencv中使用直方图降噪
- 18. 绘制横跨直方图条的水平线
- 19. R plot:如何使用plot绘制水平线的直方图()
- 20. 滚动图像水平和垂直
- 21. 计数水平和垂直线图像
- 22. 垂直和水平响应图像
- 23. 水平或垂直翻转JavaFX图像
- 24. 撤消水平/垂直翻转位图
- 25. R水平方块图
- 26. Android:垂直滚动视图中的水平列表视图?
- 27. 栏标签添加到水平直方图在Stata
- 28. CSS图片悬停工作水平而不是垂直方向
- 29. 防止因子水平在ggplot多面直方图
- 30. Python sizers - 水平行中的垂直列?
感谢Carnieri,我用cvGetReal2D做了同样的工作。再次感谢。 – user522659 2010-12-13 16:40:41