opencv学习笔记3:像素处理

   日期:2020-07-04     浏览:81    评论:0    
核心提示:读取像素返回值=图像(位置参数) 灰度图读取像素如灰度度只有两维d=img[78,155]print(d) 彩色图读取像素彩色图 有三个通道。注意opencv读取的是BGR,非RGBblue=img[78,155,0]green=img[78,150.1]red=img[78,150,2]如果没有指定通道打印出的p有三个值,BGRp=img[78,150] 修改像素 灰度图修改像素直接赋值img[78,150]=255 彩色图修改像素可以分通道赋值img.

学习笔记,看的某宝的一个视频学习的

读取像素

返回值=图(位置参数)

灰度图读取像素

灰度度只有两维

d=img[78,155]
print(d)

彩色图读取像素
彩色图 有三个通道。
注意opencv读取的是BGR,非RGB

blue=img[78,155,0]
green=img[78,150.1]
red=img[78,150,2]

如果没有指定通道
打印出的p有三个值,BGR

p=img[78,150]

修改像素

灰度图修改像素
直接赋值

img[78,150]=255

彩色图修改像素
可以分通道赋值

img[78,1500]=255
img[78,1501]=255
img[78,1502]=255

可以直接赋值

img[78,150]=[255,255,255]

算例

灰度图

import cv2

img=cv2.imread('lena256.bmp',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
p=img[100,100]#读取像素
print(p)
img[100,100]=255
print(img[100,100])

结果:
可以发现第100行,100列像素有73变到255

彩色图修改

修改一个通道

import cv2
i=cv2.imread("e:\\lesson\\image\\lenacolor.png",cv2.IMREAD_UNCHANGED)
#请确保在指定目录下有彩色图像文件
print(i[100,100])
i[100,100,0]=255
print(i[100,100])

同时修改三个通道

import cv2
i=cv2.imread("lenacolor.png",cv2.IMREAD_UNCHANGED)
#请确保在指定目录下有彩色图像文件
#同时更改三个通道
print(i[100,100])
i[100,100]=[255,255,255]
print(i[100,100])

修改一个区域

import cv2

img=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
cv2.imshow('image',img)#原图
#修改一个区域像素
img[100:150,100:150]=[0,0,255]
cv2.imshow("newimage",img)#新图
cv2.waitKey(0)
cv2.destroyAllWindows()

numpy读取修改像素

读取像素
返回值=图像.item(位置参数)
item:数组的指定元素作为适当的Python标量的副本
灰度图:

p=img.item(88,150)

彩色图

print(i.item(100,100,0))#blue
print(i.item(100,100,1))#green
print(i.item(100,100,2))#red

修改像素
图像名.itemset(位置,新值)
灰度图:

i.itemset((100,100),255)

彩色图:

i.itemset((100,100,0),255)
i.itemset((100,100,1),255)
i.itemset((100,100,1),255)

算例

import cv2
import numpy as np
i=cv2.imread('lenacolor.png',flags=cv2.IMREAD_UNCHANGED)#cv2.IMREAD_UNCHANGED 未改变
print(i.item(150, 120, 0))#读取原始像素
i.itemset((150, 120, 0),255)#修改
print(i.item(150, 120, 0))#修改之后像素

结果:

电气专业的计算机小白,写博文不容易,如果你觉得本文不错,点个赞支持下。谢谢

 
打赏
 本文转载自:网络 
所有权利归属于原作者,如文章来源标示错误或侵犯了您的权利请联系微信13520258486
更多>最近资讯中心
更多>最新资讯中心
0相关评论

推荐图文
推荐资讯中心
点击排行
最新信息
新手指南
采购商服务
供应商服务
交易安全
关注我们
手机网站:
新浪微博:
微信关注:

13520258486

周一至周五 9:00-18:00
(其他时间联系在线客服)

24小时在线客服