1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > OpenCV Python 如何将彩色图像转换为二进制图像?

OpenCV Python 如何将彩色图像转换为二进制图像?

时间:2021-03-20 18:52:22

相关推荐

OpenCV Python 如何将彩色图像转换为二进制图像?

我们使用cv2.threshold()将灰度图像转换为二进制图像。要将彩色图像转换为二进制图像,我们首先使用cv2.cvtColor()将彩色图像转换为灰度图像,然后对灰度图像应用cv2.threshold()

步骤

可以按照以下步骤将彩色图像转换为二进制图像-

导入所需库。在接下来的所有示例中,所需的 Python 库是OpenCV。确保您已经安装它。

使用cv2.imread()读取输入图像。使用此方法读取的 RGB 图像为 BGR 格式。可选择将读取的BGR图像分配给img。

现在使用以下方法将此BGR图像转换为灰度图像,如下所示,使用cv2.cvtColor()函数。可选择将转换后的灰度图像分配给gray。

对灰度图像gray应用阈值处理cv2.threshold()将其转换为二进制图像。调整第二个参数(threshValue)以获得更好的二进制图像。

显示转换后的二进制图像。

让我们看一些例子,以便更清楚地理解问题。

我们将使用以下图像作为输入文件

示例

在此Python程序中,我们将彩色图像转换为二进制图像。我们还会显示二进制图像。

# 导入所需库import cv2# 加载输入图像img = cv2.imread('architecture1.jpg')# 将输入图像转换为灰度图像gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 应用阈值处理将灰度图像转换为二进制图像ret,thresh = cv2.threshold(gray,70,255,0)# 显示二进制图像cv2.imshow("Binary Image", thresh)cv2.waitKey(0)cv2.destroyAllWindows(

输出

运行上述程序时,将产生以下输出窗口,显示二进制图像。

示例

在此示例中,我们将彩色图像转换为二进制图像。我们还会显示原始、灰度和二进制图像。

# 导入所需库import cv2import matplotlib.pyplot as plt# 加载输入图像img = cv2.imread('architecture1.jpg')# 将输入图像转换为灰度图像gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)# 应用阈值处理将灰度图像转换为二进制图像ret,thresh = cv2.threshold(gray,70,255,0)# 将BGR转换为RGB以使用matplotlib进行显示imgRGB = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)# 显示原始、灰度和二进制图像plt.subplot(131),plt.imshow(imgRGB,cmap = 'gray'),plt.title('原始图像'), plt.axis('off')plt.subplot(132),plt.imshow(gray,cmap = 'gray'),plt.title('灰度图像'),plt.axis('off')plt.subplot(133),plt.imshow(thresh,cmap = 'gray'),plt.title('二进制图像'),plt.axis('off')plt.show()

输出

运行上述程序后,将产生以下输出窗口,显示原始、灰度和二进制图像。

注意灰度图像和二进制图像之间的差别。二进制图像只有两种颜色:白色和黑色。二进制图像的像素值为0(黑色)或255(白色)。

为帮助更多对人工智能感兴趣的小伙伴们能够有效的系统性的学习以及论文的研究,小编特意制作整理了一份人工智能学习资料给大家,整理了很久,非常全面。

大致内容包括一些人工智能基础入门视频和文档+AI常用框架实战视频、计算机视觉、机器学习、图像识别、NLP、OpenCV、YOLO、pytorch、深度学习与神经网络等学习资料、课件源码、国内外知名精华资源、以及AI热门论文等全套学习资料。

需要以上这些文中提到的资料,请点击此处→【人工智能全套完整VIP资料】即可免费获取。

看完三件事❤️

如果你觉得这篇内容对你还蛮有帮助,我想邀请你帮我三个小忙:点赞,转发,有你们的 『点赞和评论』,才是我创造的动力。关注作者公众号 『 python深度学习NLP 』,不定期分享原创知识。关注后回复【666】扫码即可获取学习资料包。同时可以期待后续文章ing🚀。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。