- 以RGB色彩空间读入图片
- 将图片转为HIS或YUV、YCbCr等色彩空间
- 以SobelOperators侦测图像边缘
- 对亮度进行处理
- 转为RGB色彩空间
那么接下来只需要一步步完成即可
- 以cv2.imread()读入图片 (有的文章提到此时读入的图片为BGR色彩空间?)
- 通过cv2.cvtColor将图片转为YCbCr色彩空间
- 通过SobelOperators侦测图像边缘,这里通过搜索找到cv2.Sobel()方法,具体使用方法可以参考官方文档Opencv官方文档
- 将数据格式转回到uint8,这里官方文档也提到一句话in the case of 8-bit input images it will result in truncated derivatives ,即通过Sobel()函数之后可能会产生负数或超过255的数,而uint8为无符号数。这里可以一步步输出image.dtype查看数据格式,第一步读取图片时为uint8,而通过Sobel()方法时数据格式就会发生改变(根据你所设定的depth参数),所使用函数为cv2.convertScaleAbs()
- 对亮度进行处理
- 通过cv2.cvtColor将图片转为RGB色彩空间
图片示意图如下
沒有留言:
張貼留言