OpenCV更改像素与修改图像通道的示例分析
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,本篇文章为大家展示了OpenCV更改像素与修改图像通道的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. 效果图原图 VS 更改右下某个像素为红色,
千家信息网最后更新 2026年11月02日OpenCV更改像素与修改图像通道的示例分析
本篇文章为大家展示了OpenCV更改像素与修改图像通道的示例分析,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
1. 效果图
原图 VS 更改右下某个像素为红色,更改左上角1/4区域为绿色,效果图如下:
裁剪感兴趣区域:分别截取左上角、右上角、左下角、右下角,各占1/4;效果图如下:
原图 VS 图像单通道灰度图效果如下:
左上原图 VS 右上R通道图 VS 左下G通道图 VS 右下B通道图效果如下:
图像4通道 全透明图 VS 不透明效果图:
2. 源码
# USAGE# python opencv_getting_setting.py --image fjdj.png# 导入必要的包import argparseimport cv2import imutilsimport numpy as np# 构建命令行参数及解析# --image 磁盘图片路径,默认名称为当前py文件同级目录:fjdj.jpgap = argparse.ArgumentParser()ap.add_argument("-i", "--image", type=str, default="fjdj.jpg", help="path to the input image")args = vars(ap.parse_args())ap = argparse.ArgumentParser()# 加载图像,获取空间维度(宽度、高度),展示原始图像到屏幕image = cv2.imread(args["image"])image = imutils.resize(image, width=430)origin = image.copy()(h, w) = image.shape[:2]cv2.imshow("Original", image)# 图像以Numpy数组存在,获取左上角,图像索引从0开始# 图像以BGR通道表示,因为最开始BGR是标准,后来调整为RGB(b, g, r) = image[0, 0]print("Pixel at (0, 0) - Red: {}, Green: {}, Blue: {}".format(r, g, b))# 获取x=380,y=380的像素值,图像想象为M*N的矩阵,M为行,N为列(b, g, r) = image[380, 380]print("Pixel at (380, 380) - Red: {}, Green: {}, Blue: {}".format(r, g, b))# 更新x=50,y=20的像素为红色image[380, 380] = (0, 0, 255)(b, g, r) = image[380, 380]print("Pixel at (380, 380) - Red: {}, Green: {}, Blue: {}".format(r, g, b))# 计算图像的中心(cX, cY) = (w // 2, h // 2)# 使用数组切片获取左上角1/4的部分tl = image[0:cY, 0:cX]cv2.imshow("Top-Left Corner", tl)# 同样的,用数组切片裁剪 右上角、左下角、右下角部分,并展示tr = image[0:cY, cX:w]br = image[cY:h, cX:w]bl = image[cY:h, 0:cX]cv2.imshow("Top-Right Corner", tr)cv2.imshow("Bottom-Right Corner", br)cv2.imshow("Bottom-Left Corner", bl)# 使用像素切片来更改像素区域的颜色image[0:cY, 0:cX] = (0, 255, 0)# 展示更新像素后的图片cv2.imshow("Updated (Top-Left Corner to Green)", image)gray = cv2.cvtColor(origin, cv2.COLOR_BGR2GRAY)cv2.imshow("Gray", gray)(h, w) = origin.shape[:2]zeros = np.zeros((h, w), dtype="uint8")# 将origin分离为红色,绿色和蓝色通道, 然后我们使用Numpy 零数组分别构造每个通道的表示形式(B, G, R) = cv2.split(origin)R = cv2.merge([zeros, zeros, R])G = cv2.merge([zeros, G, zeros])B = cv2.merge([B, zeros, zeros])cv2.imshow("B G R", np.hstack([B, G, R]))# 构建输出帧 原图在左上角 红色通道右上角 绿色通道右下角 蓝色通道左下角output = np.zeros((h * 2, w * 2, 3), dtype="uint8")output[0:h, 0:w] = originoutput[0:h, w:w * 2] = Routput[h:h * 2, 0:w] = Goutput[h:h * 2, w:w * 2] = Bcv2.imshow("origin vs R vs G vs B", imutils.resize(output, width=700))alpha0 = np.dstack([origin, np.ones((h, w), dtype="uint8") * 0])cv2.imshow("alph 0", alpha0)cv2.imwrite("alph 0.png", alpha0)alpha1 = np.dstack([origin, np.ones((h, w), dtype="uint8") * 255])cv2.imshow("alph 255", alpha1)cv2.imwrite("alph 255.png", alpha1)cv2.waitKey(0)上述内容就是OpenCV更改像素与修改图像通道的示例分析,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。
通道
图像
像素
效果
左上角
原图
效果图
数组
红色
区域
绿色
示例
分析
内容
图片
技能
知识
蓝色
部分
更新
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
中智农互联网科技
互联网加科技
互联网和科技技术
朗涯互联网科技
一五八零互联网科技
老年人脱离互联网科技的作文
华夏互联网科技业
互联网科技公司有风险吗
米聚互联网科技南京有限公司排面
互联网科技和法律行业
用友工业互联网科技发展
华中科技大学互联网的牛人
无锡工业互联网科技有限公司
众安科技工业互联网合作
张召忠谈中国互联网科技
银川新华互联网科技学校原画
好易买互联网科技
青岛互联网科技园
互联网企业和网络科技有限公司
互联网科技企业文化
科技赋能下的互联网金融
隆华科技工业互联网
央行互联网金融科技公司
互联网大会黑科技排名
语蝶互联网科技有限公司
青岛科技大学互联网大赛研究生
呼和浩特新华互联网科技学院
广西互联网科技孵化中心
互联网金融科技展
内蒙古九一互联网科技