Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >python:希望仅在opencv中显示红色通道

python:希望仅在opencv中显示红色通道
EN

Stack Overflow用户
提问于 2017-06-14 20:25:02
回答 2查看 63K关注 0票数 28

我是图像处理的初学者。我在许多颜色空间中显示图像,下面的代码显示了3个通道R、G、B中的图像,但是显示在灰色布局中的图像。我需要显示三个图像,一个红色通道为红色图像,另一个为蓝色,最后一个为绿色。提前谢谢。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# cspace.py
import cv2
import numpy as np

image = cv2.imread('download.jpg')

# Convert BGR to HSV
hsv = cv2.cvtColor(image, cv2.COLOR_BGR2HSV)
hsl = cv2.cvtColor(image, cv2.COLOR_BGR2HLS) # equal to HSL
luv = cv2.cvtColor(image, cv2.COLOR_BGR2LUV)


#RGB - Blue
cv2.imshow('B-RGB.jpg',image[:, :, 0])
cv2.imwrite('B-RGB.jpg',image[:, :, 0])

# RGB - Green
cv2.imshow('G-RGB',image[:, :, 1])
cv2.imwrite('G-RGB.jpg',image[:, :, 1])

# RGB Red
cv2.imshow('R-RGB',image[:, :, 2])
cv2.imwrite('R-RGB.jpg',image[:, :, 2])


cv2.waitKey(0)

Blue image as displayed currently

i need to display blue channel like this image

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-14 21:08:15

您可以只复制原始图像,并将某些通道设置为0。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cv2

image = cv2.imread('download.jpg')

b = image.copy()
# set green and red channels to 0
b[:, :, 1] = 0
b[:, :, 2] = 0


g = image.copy()
# set blue and red channels to 0
g[:, :, 0] = 0
g[:, :, 2] = 0

r = image.copy()
# set blue and green channels to 0
r[:, :, 0] = 0
r[:, :, 1] = 0


# RGB - Blue
cv2.imshow('B-RGB', b)

# RGB - Green
cv2.imshow('G-RGB', g)

# RGB - Red
cv2.imshow('R-RGB', r)

cv2.waitKey(0)
票数 43
EN

Stack Overflow用户

发布于 2019-12-02 05:33:15

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cv2
import numpy as np

channel_initials = list('BGR')

image = cv2.imread('download.jpg')

for channel_index in range(3):
    channel = np.zeros(shape=image.shape, dtype=np.uint8)
    channel[:,:,channel_index] = image[:,:,channel_index]
    cv2.imshow(f'{channel_initials[channel_index]}-RGB', channel)
cv2.waitKey(0)
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44554125

复制
相关文章
OpenCV分通道显示图片,灰度,融合,直方图,彩色直方图
 代码有参考跟整合:没有一一列出出处 // split_rgb.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <iostream> #include <vector> #include "opencv2/core/core.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <cv.h> #include
流川疯
2019/01/18
1.1K0
搬瓦工VPS中SWAP满了,显示红色的原因
可能是开的进程太多了,占用太多的内存以致占用了很多的缓存,也可能是别的进程死了,但是缓存没有清除。
风吹屁屁凉
2021/07/14
2.6K0
python中opencv imshow函数显示一片白色原因
首先应当明确的是,opencv中imshow内部的参数类型可以分为两种。(1)当输入矩阵是uint8类型的时候,此时imshow显示图像的时候,会认为输入矩阵的范围在0-255之间。(2)如果imshow的参数是double类型的时候,那么imshow会认为输入矩阵的范围在0-1。
用户7886150
2021/01/15
2.5K0
【python-opencv】读取、显示、保存视频
要捕获视频,你需要创建一个 VideoCapture 对象。它的参数可以是设备索引或视频文件的名称。设备索引就是指定哪个摄像头的数字。正常情况下,一个摄像头会被连接(就像我的情况一样)。所以我简单地传0(或-1)。你可以通过传递1来选择第二个相机,以此类推。在此之后,你可以逐帧捕获。但是在最后,不要忘记释放俘虏。
西西嘛呦
2020/08/26
8K0
【python-opencv】读取、显示、写入图像
cv.waitKey()是一个键盘绑定函数。其参数是以毫秒为单位的时间。该函数等待任何键盘事件指定的毫秒。如果您在这段时间内按下任何键,程序将继续运行。如果0被传递,它将无限期地等待一次敲击键。它也可以设置为检测特定的按键,例如,如果按下键 a 等,我们将在下面讨论。
西西嘛呦
2020/08/26
1.5K0
OpenCV-Python学习(2)—— OpenCV 图像的读取和显示
1. 学习目标 图像理解 图像读取与显示 2. 灰度图像 —— 单通道 1. 人眼中的灰度图像 2. 计算机中的灰度图像 [[ 72 72 71 ... 151 154 156] [ 75 73 69 ... 152 155 158] [ 78 73 66 ... 152 157 160] ... [ 94 94 94 ... 208 197 187] [ 92 92 93 ... 208 200 191] [ 96 96 97 ... 208 202 195]] 3
Rattenking
2022/09/30
1.3K0
OpenCV-Python学习(2)—— OpenCV 图像的读取和显示
opencv通道的分离与合并
淼学派对
2023/10/14
1810
opencv通道的分离与合并
opencv显示图像
如果说我们在些项目的过程中会频繁的查看我们的图片,我们就可以直接给它封装一个方法:
淼学派对
2023/10/14
2260
opencv显示图像
opencv: 颜色通道 探究(图示+源码)
  大家都知道的,在OpenCV中,图像都是按 BGR 的 颜色通道顺序 来进行处理的。在自学OpenCV的过程中,我对 拆分和合并颜色通道 起了兴趣。自己写了一些代码来验证自己的思路。
JNingWei
2018/09/28
1.5K0
opencv: 颜色通道 探究(图示+源码)
OpenCV中图像的读取,显示与保存
相关函数:cv2.imread()、cv2.imshow()、cv2.imwrite()
py3study
2020/01/19
2.9K0
基于Python的OpenCV关于色彩空间与通道的操作
色彩空间与通道(Colour) 色彩空间 BRG--->GRAY dst=cv2.cvtColor(sec,code) dse:转换后的图像 src:转换前的初始图像 code:色彩空间转换码 BGR--->HSV(H:色调;S:饱和度;V:亮度) 同上 通道 拆分通道 b,g,r=cv2.split
常温阔乐
2022/12/16
3670
opencv videocapture参数_opencv显示图像
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/17
1.4K0
Python+OpenCV的图像读取、显示、保存
一、图像的读取 图像的读取主要函数是cv2.imread()。 函数格式:Mat cv::imread (const String & filename, int flags = IMREAD_COLOR) 功能:读取图片文件。 参数: windows位图:后缀名为bmp JPEG文件:后缀名为jpeg/jpg JPEG2000:后缀名为jp2 便携式网络图像文件:后缀名为png TIFF文件:后缀名为tiff/tif 参数二是整型的flag,标志,默认值为IMREAD_COLOR,取值有如下几种: IMREAD_UNCHANGED:如果设置,则按原样返回加载的图像(带有Alpha通道,否则会被裁剪)。 IMREAD_GRAYSCALE:如果设置,总是将图像转换为单通道灰度图像读入。 IMREAD_COLOR:如果设置,总是将图像转换为3通道BGR彩色图像读入。 IMREAD_ANYDEPTH:如果设置,当输入具有相应深度时返回16位/ 32位图像,否则将其转换为8位。 IMREAD_ANYCOLOR:如果设置,图像将以任何可能的颜色格式读取。 IMREAD_LOAD_GDAL:如果设置,总是使用GDAL驱动程序加载图像。 IMREAD_REDUCED_GRAYSCALE_2:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/2。 IMREAD_REDUCED_COLOR_2:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/2。 IMREAD_REDUCED_GRAYSCALE_4:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/4。 IMREAD_REDUCED_COLOR_4:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/4。 IMREAD_REDUCED_GRAYSCALE_8:如果设置,总是将图像转换为单通道灰度图像,图像尺寸减小1/8。 IMREAD_REDUCED_COLOR_8:如果设置,总是将图像转换为3通道BGR彩色图像,图像尺寸减小1/8 常用的是前三种。因为flags是整型,所以传入数值也行: flags >0:等同于IMREAD_COLOR。 flags =0:等同于 IMREAD_GRAYSCALE。 flags <0: 等同于IMREAD_UNCHANGED。 通常是给1、0、-1,给其他整型也是可以的。 返回值:Mat类型。从opencv2开始,用于存放图像的数据类型就是Mat, 二、图像的显示 图像读取后,下一步就是再把图像显示出来,主要函数有:cv2.namedWindows()、cv2.imshow()。再另外再介绍三个函数cv2.waitKey()、cv2.destroyWindow()、cv2.destroyAllWindows()。 2.1 cv2.namedWindows函数介绍 void cv::namedWindow (const String & winname,int flags = WINDOW_AUTOSIZE ) 功能:创建一个窗口。 参数:参数一是winname,给创建的窗口起一个名字,以后通过这个名字调用该窗口;参数二整型的flags,定义窗口的属性,默认值是WINDOW_AUTOSIZE,其他取值如下所示: WINDOW_NORMAL:用户可以调整窗口大小(不受约束)/也可以使用将全屏窗口切换为正常大小。 WINDOW_AUTOSIZE:用户无法调整窗口大小,窗口大小随显示图像的大小而变化。 WINDOW_OPENGL:带有opengl支持的窗口。 WINDOW_FULLSCREEN:将窗口更改为全屏。 WINDOW_FREERATIO:不遵循图像的比例调整图像后在窗口显示 WINDOW_KEEPRATIO:根据图像的比例调整图像后在窗口中显示 2.2 cv2.imshow函数介绍 void cv::imshow (const String & winname, InputArray mat ) 功能:在指定窗口显示图像。 参数:参数一是窗口名;参数二设置为要显示的图像。 注意此函数之后应该跟随函数waitKey,指定窗口显示多少毫秒。 2.3 cv2.waitKey函数介绍 int cv::waitKey (int delay = 0) 功能:等待按键或延迟多少毫秒。 参数:整型的delay,默认值是0。设置为0表示永久等待按键,设置为非零,表示延迟delay毫秒。该函数仅在创建至少一个窗口并且窗口处于活动状态时才起作用。 2.4 cv2.destroyWind
菲宇
2019/11/12
3.7K0
opencv操作图像像素和通道
老师让我评价一下别人的一个跟踪效果,只有带跟踪框的视频,所以需要检测这个框,用了下投影,最早用matlab写的一个脚本,很简单,转到opencv里反而有些麻烦,老不用忘得很厉害,昨天搞了2个小时可以运行了,中间用到图像像素和通道的操作,顺便做个总结: 灰度图像,加的红色框,我想做的是检测到这个红色框的四个顶点的位置,比如下面这个图:
和蔼的zhxing
2018/09/04
1.7K0
opencv操作图像像素和通道
一文弄明白 OpenCV Mat 中通道channels的作用
openCV 是使用 Mat 进行存储图片,记录各种像素信息。那么 Mat 中的像素是如何记录和获取的呢?
zinyan.com
2023/07/14
9080
一文弄明白 OpenCV Mat 中通道channels的作用
Python查找Word文件中红色和加粗的文字
背景知识:docx文件的结构分为三层,1、Docment对象表示整个文档;2、Docment包含了Paragraph对象的列表,每个Paragraph对象用来表示文档中的一个段落;3、一个Paragr
Python小屋屋主
2018/04/16
3.9K0
Python查找Word文件中红色和加粗的文字
使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI
这篇博客将介绍使用Python,OpenCV获取、更改像素,修改图像通道,截取图像感兴趣ROI;单通道图,BGR三通道图,四通道透明图,不透明图;
玖柒的小窝
2021/10/25
1.2K0
使用Python,OpenCV获取、更改像素,修改图像通道,剪裁ROI
OpenCV之图像通道分离合并
python代码: import cv2 as cv src = cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) # 蓝色通道为零 mv = cv.split(src) mv[0][:, :] = 0 dst1 = cv.merge(mv) cv.imshow("output1", dst1) # 绿色通道为零 mv = cv.split(src) mv[1][:,
MachineLP
2021/07/19
3190
OpenCV之图像通道分离合并
点击加载更多

相似问题

showcolorimage image函数仅在红色通道中显示图像

24

如何将红色通道与灰度图像与opencv python合并?

21

python opencv阈值红色图像

13

从网络摄像头流openCV中隔离并显示红色通道

10

Python OpenCV填充红色圆圈

130
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文