cv2.imread()和cv2.cvtColor() 的使用

cv2.imread()和cv2.cvtColor() 的使用1、cv2.imread()接口读图像,读进来直接是BGR格式数据格式在0~255需要特别注意的是图片读出来的格式是BGR,不是我们最常见的RGB格式,颜色肯定有区别。2、cv2.cvtColor(p1,p2)是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。cv2.COLOR_BGR2RGB将BGR格式转换成RGB格式cv2.COLOR_BGR2GRAY将…

1、cv2.imread()接口读图像,读进来直接是BGR 格式数据格式在 0~255

需要特别注意的是图片读出来的格式是BGR,不是我们最常见的RGB格式,颜色肯定有区别。

2、cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式。

cv2.COLOR_BGR2RGB 将BGR格式转换成RGB格式

cv2.COLOR_BGR2GRAY 将BGR格式转换成灰度图片

通过我做的实验和在网上看别人实验的结果,发现转换后并不是通常意义上的黑白图片。根据我问别人后的结果,他说,灰度图片并不是指常规意义上的黑白图片,只用看是不是无符号八位整型(unit8),单通道即可判断。

以下是代码,各位大神若觉得我的理解有问题,欢迎留言沟通。

 

import matplotlib.pyplot as plt
import cv2

# cv2.imread()接口读图像,读进来直接是BGR 格式数据格式在 0~255,通道格式为(W,H,C)
img_BGR = cv2.imread('D:/Desktop/lena.jpg')
plt.subplot(2,2,1)
plt.imshow(img_BGR)
plt.axis('off')
plt.title('BGR')


img_RGB = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2RGB)
plt.subplot(2,2,2)
plt.imshow(img_RGB)
plt.axis('off')
plt.title('RGB')

img_GRAY = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2GRAY)
print(img_BGR.shape)
print(img_GRAY.shape)
print(type(img_GRAY))
print(img_GRAY.astype)

print(img_GRAY.dtype.name, img_BGR .dtype.name)

from skimage import io,data
img=data.chelsea()
print(img.dtype.name)

plt.subplot(2,2,3); plt.imshow(img_GRAY);plt.axis('off');plt.title('GRAY')

img_HSV = cv2.cvtColor(img_BGR, cv2.COLOR_BGR2HSV)
plt.subplot(2,2,4); plt.imshow(img_HSV);plt.axis('off');plt.title('HSV')

plt.show()

结果如下

cv2.imread()和cv2.cvtColor() 的使用

今天的文章cv2.imread()和cv2.cvtColor() 的使用分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/7631.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注