python图像处理第二课--Opencv像素处理--小白的成长历程

#目的为记录在自己运行时存在的问题及解决方法,本文基于CSDN社区的Eastmount大佬的课程,通过学习,其中也增加了自己的考量和问题的解决。

  1. 读取像素
    灰度图像直接返回灰度值,彩色图像则返回B、G、R三个分量。注意OpenCV读取图像是BGR存储显示,当需要图像处理时,需要转换为RGB。
    (1)BGR转换RBG可以采用以下代码:
img_bgr = cv2.imread("C:/Users/CLH/Desktop/test.jpg",cv2.IMREAD_UNCHANGED)
B, G, R = cv2.split(img_bgr)   #分解像素点
img_rbg = cv2.merge([R, G, B]) #按RBG重新合并

(2)灰度图像:返回值 = 图像[位置参数]

 test = img[88,42] #[88,42]指代像素坐标

(3)彩色图像:返回值 = 图像[位置元素, 0/1/2] 获取BGR三个通道像素

 blue = img[88,142,0]
 green = img[88,142,1] 
 red = img[88,142,2]
  1. 修改图像
    (1) 如果是灰度图像则直接赋值新像素。
img[88,142] = 255 #图片[位置参数] = 像素

(2)彩色图像依次给三个值赋值。

#方法一
img[88,142, 0] = 255
img[88,142, 1] = 255
img[88,142, 2] = 255
#方法二
img[88,142] = [255,255,255]
#顺序为BGR
  1. 将[100,200]行、[150,250]列的像素区域设置为白色,代码为:
# -*- coding:utf-8 -*-
import cv2
#读取图片
img = cv2.imread("C:/Users/CLH/Desktop/test.jpg",cv2.IMREAD_UNCHANGED)
#该区域设置为白色
img[100:200, 150:250] = [255,255,255]
#显示图像
cv2.namedWindow("image",cv2.WINDOW_NORMAL)
cv2.imshow("image", img)
#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()
#写入图像
cv2.imwrite("testyxz.jpg", img)

在图中某块扣白

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值