python图像处理(一)——图像处理OpenCV入门函数

这篇博客介绍了使用OpenCV在Python中进行图像处理的基本操作,包括读取图像、显示图像、窗口等待、删除窗口、写入图像,以及读取和修改像素。通过实例展示了如何读取BGR图像并转换为RGB,以及如何修改图像像素。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、OpenCV读取图像

本文在python3.7和OpenCV进行实验,首先安装OpenCV,网上有很多教程,这里不再赘述。

1.图像读入

OpenCV读取图像函数

img = cv2.imread(“文地址”,[,参数])

参数(1) cv2.IMREAD_UNCHANGED (图像不可变)
参数(2) cv2.IMREAD_GRAYSCALE (灰度图像)
参数(3) cv2.IMREAD_COLOR (读入彩色图像)
参数(4) cv2.COLOR_BGR2RGB (图像通道BGR转成RGB)

 2.显示图像

显示图像调用以下函数

cv2.imshow("窗口名",图像名)

 

3.窗口等待

窗口等待调用以下函数

cv2.waitKey(delay)

如果其参数为0,则表示无限期的等待键盘输入;参数>0表示等待delay毫秒;参数<0表示等待键盘单击。

4.删除所有窗口

删除所有窗口调用以下函数

cv2.destroyAllWindows() 删除所有窗口
cv2.destroyWindows() 删除指定的窗口

5.写入图像

写入图像调用以下函数

cv2.imwrite(“文件地址”,文件名)

以下实验是读入图片并显示保存

import cv2

#读入图片
img = cv2.imread("E:/pythonProject/mei.jpeg")

#显示图片
cv2.imshow("demo", img)

#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

#写入图片
cv2.imwrite("E:/pythonProject/caomei.jpeg",img)

输出图片如下图所示,并且在文件夹下保存了一张caomei.jpeg的图片

 

二、OpenCV像素处理

1.读取像素

灰度图像直接返回灰度值,彩色图像则返回B、G、R三个分量。OpenCV读取图像是BGR存储显示,需要转换为RGB再进行图像处理。

灰度图像:返回值 = 图像[位置元素]
eg: mei=image[88,142]
彩色图像:返回值 = 图像[位置元素, 0 | 1 | 2 ] 获取BGR三个通道像素
eg: blue=image[88,142,0] green=image[88,142,1] red=image[88,142,2]

2.修改图像

修改图像如果是灰度图像则直接赋值新像素即可,彩色图像依次给三个值赋值即可。

灰度图像:
img[88,142] = 255
彩色图像:
img[88,142, 0] = 255
img[88,142, 1] = 255
img[88,142, 2] = 255
彩色图像:方法二
img[88,142] = [255, 255, 255]

以下代码为获取像素及修改操作:

import cv2

#读取图片
image = cv2.imread("E:/pythonProject/mei.jpeg",cv2.IMREAD_UNCHANGED)
mei = image[88,148]
print(mei)

#修改像素
image[88,148] = [255,255,255]
print(mei)

#分别获取BGR通道像素
blue = image[88,148,0]
print(blue)
green = image[88,148,1]
print(green)
red = image[88,148,2]
print(red)

#显示图片
cv2.imshow("demo",image)

#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

#写入图像
cv2.imwrite("E:/pythonProject/text.jpeg",image)

输出结果如下:

[178 215 243]
[255 255 255]
255
255
255

下面代码是将行200到300,列300到400的像素区域设置为白色,(也可设置为黑色,将255该成0即可)

import cv2

# 读取图片
image = cv2.imread("E:/pythonProject/mei.jpeg",cv2.IMREAD_UNCHANGED)

# 该区域设置为白色
image[200:300,300:400] = [255,255,255]

#显示图片
cv2.imshow("demo", image)

#等待显示
cv2.waitKey(0)
cv2.destroyAllWindows()

#写入图片
cv2.imwrite("E:/pythonProject/caomei.jpeg",image)

输出图片如下所示:

 

本文参考该博主文章,如有不足之处请多多见谅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值