做项目时遇到一个问题,我想把一张图片的r,g,b通道分离出来显示,又希望在显示不同分辨率的图片时窗口大小能统一,就设置了一个640*480大小的窗口。但是使用imshow函数对三个通道的分别显示时,只显示了最后一个通道的图片,有什么解决办法吗?
3条回答 默认 最新
- 阿里嘎多学长 2023-04-11 01:09关注
以下内容部分参考ChatGPT模型:
可以使用resize函数将原图缩放至640*480大小,然后再分离通道进行显示。具体代码如下:
import cv2 # 读取原图 img = cv2.imread('test.jpg') # 缩放至640*480大小 img_resized = cv2.resize(img, (640, 480)) # 分离通道并显示 b, g, r = cv2.split(img_resized) cv2.imshow('Blue Channel', b) cv2.imshow('Green Channel', g) cv2.imshow('Red Channel', r) cv2.waitKey(0) cv2.destroyAllWindows()
这样可以保证不同分辨率的图片在同一个窗口下显示大小一致,同时也可以分离出RGB通道进行显示。
如果我的建议对您有帮助、请点击采纳、祝您生活愉快
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 1无用