如何计算我的 python 程序中 canny 图像的非零像素数
how to Count the number of non zero pixels of the canny image in my python program
我正在尝试查找 canny 图像的非零像素数,你能帮忙吗?
这是我的代码:
import cv
def doCanny(input, lowThresh, highThresh, aperture):
if input.nChannels != 1:
return(0)
out = cv.CreateImage((input.width, input.height), input.depth, 1)
cv.Canny(input, out, lowThresh, highThresh, aperture)
return out
def doPyrDown(input):
assert(input.width !=0 and input.height !=0)
out = cv.CreateImage((input.width/2, input.height/2), input.depth, input.nChannels)
cv.PyrDown(input, out)
return out
img = cv.LoadImage('mypic.jpg')
img2 = cv.CreateImage((img.width, img.height), img.depth, 1)
cv.CvtColor(img, img2, cv.CV_BGR2GRAY)
cv.NamedWindow("Example GRAY", cv.CV_WINDOW_AUTOSIZE)
cv.ShowImage("Example GRAY", img2)
img3 = doCanny(img2, 10, 100, 3)
img2 = doPyrDown(img3)
cv.ShowImage("Example 2", img2)
cv.WaitKey(0)
您可以使用opencv的函数countNonZero
来计算图像中非零像素的数量。
img3 = doCanny(img2, 10, 100, 3)
nzCount = cv.CountNonZero(img3);
更新:
在较新版本的OpenCV中,统计非零点的函数更新如下:
nzCount = cv2.countNonZero(img3)
尝试 cv.countNonZero()
,CountNonZero()
对我不起作用。
我正在尝试查找 canny 图像的非零像素数,你能帮忙吗?
这是我的代码:
import cv
def doCanny(input, lowThresh, highThresh, aperture):
if input.nChannels != 1:
return(0)
out = cv.CreateImage((input.width, input.height), input.depth, 1)
cv.Canny(input, out, lowThresh, highThresh, aperture)
return out
def doPyrDown(input):
assert(input.width !=0 and input.height !=0)
out = cv.CreateImage((input.width/2, input.height/2), input.depth, input.nChannels)
cv.PyrDown(input, out)
return out
img = cv.LoadImage('mypic.jpg')
img2 = cv.CreateImage((img.width, img.height), img.depth, 1)
cv.CvtColor(img, img2, cv.CV_BGR2GRAY)
cv.NamedWindow("Example GRAY", cv.CV_WINDOW_AUTOSIZE)
cv.ShowImage("Example GRAY", img2)
img3 = doCanny(img2, 10, 100, 3)
img2 = doPyrDown(img3)
cv.ShowImage("Example 2", img2)
cv.WaitKey(0)
您可以使用opencv的函数countNonZero
来计算图像中非零像素的数量。
img3 = doCanny(img2, 10, 100, 3)
nzCount = cv.CountNonZero(img3);
更新:
在较新版本的OpenCV中,统计非零点的函数更新如下:
nzCount = cv2.countNonZero(img3)
尝试 cv.countNonZero()
,CountNonZero()
对我不起作用。