订阅
纠错
加入自媒体

OpenCV 指南2:如何在图像中进行边缘检测?

2021-08-02 10:44
磐创AI
关注

6) 如何使用位运算符?

常用的位运算符有 AND、OR、XOR 和 NOT。**BITWISE AND:**位与,它只会显示输入图像的相交像素查看下面提到的代码Org_img_1=cv.imread("/content/drive/MyDrive/Colab Notebooks/Opencv/NCS/emma-shappley-S0zmYpRTZbA-unsplash.jpg")
cv2_imshow(Org_img_1)
print("")
Org_img_2=cv.imread("/content/drive/MyDrive/Colab Notebooks/Opencv/NCS/olena-sergienko-UQLGR8otAEs-unsplash(1).jpg")
cv2_imshow(Org_img_2)
print("")
#BITWISE AND
BITWISE_AND=cv.bitwise_and(Org_img_1,Org_img_2)
cv2_imshow(BITWISE_AND)
上述代码的输出:org_img_1:

org_img_2:

BITWISE_AND:

BITWISE OR:位或,它将显示图像的相交和非相交像素。查看下面提到的代码#BITWISE OR
BITWISE_OR=cv.bitwise_or(Org_img_1,Org_img_2)
cv2_imshow(BITWISE_OR)
上述代码的输出:

BITWISE XOR:按位异或,它将显示图像的非相交像素。查看下面提到的代码#BITWISE XOR
BITWISE_XOR=cv.bitwise_xor(Org_img_1,Org_img_2)
cv2_imshow(BITWISE_XOR)
上述代码的输出:

BITWISE NOT:按位取非,即,它将反转图像的色彩空间。查看下面提到的代码#BITWISE NOT
BITWISE_NOT=cv.bitwise_not(Org_img_1)
cv2_imshow(BITWISE_NOT)
上述代码的输出:

7) 如何在图像的每个像素中绘制颜色的直方图?

7.1. BGR图像:我们将尝试使用 matplotlib 为BGR所有三个通道 绘制直方图。查看下面提到的代码和输出的详细信息:cv2_imshow(Org_img_2)
BGR_Co=('b','g','r')
for i,j in enumerate(BGR_Co):
 Org_img_Histo=cv.calcHist([Org_img_2],[i],None,[256],[0,256])
 plt.plot(Org_img_Histo,color=j)
 plt.xlim([0,256])
plt.xlabel("Bins")
plt.ylabel("# of pixels")
plt.title("Org_img Histogram")
plt.show()
上述代码的输出:BGR图像:

直方图:

7.2. 灰度图像:我们将原始图像转换为灰度图像,然后尝试绘制该图像像素的直方图。查看下面提到的代码和输出的详细信息:gray=cv.cvtColor(Org_img_2,cv.COLOR_BGR2GRAY)
cv2_imshow(gray)
Gray_Histo=cv.calcHist([gray],[0],None,[256],[0,256])
plt.figure()
plt.title("GrayScale Histogram")
plt.xlabel("Bins")
plt.ylabel("# of pixels")
plt.plot(Gray_Histo)
plt.show()
上述代码的输出:灰度图像:

直方图:

总结现在我们已经完成了OpenCV 的基础知识和高级内容,本文涵盖了 OpenCV 中的一些高级内容,这些内容主要用于计算机视觉任务。

image.png

<上一页  1  2  3  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

人工智能 猎头职位 更多
扫码关注公众号
OFweek人工智能网
获取更多精彩内容
文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号