nicolas_xinyu 2023-04-11 00:19 采纳率: 100%
浏览 20
已结题

opencv图片显示问题

做项目时遇到一个问题,我想把一张图片的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通道进行显示。


    如果我的建议对您有帮助、请点击采纳、祝您生活愉快

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 4月19日
  • 已采纳回答 4月11日
  • 创建了问题 4月11日