02:图像处理的基本操作

1.读取图像

image = cv2.imread(“filename”,flags)

**filename:**是要读取图像的完整文件名,要用双引号括起来,并且读取的路径中不能出现中文

**flags:**读取图像颜色类型的标记

flags讲解

当值为1是默认值,表示读取的是彩色图像,此时的flags值可以省略
当值为0表示读取的是灰度图像(如果读取的是彩色图像,则将其转换为彩色图像对应的灰度图像)

灰度图像是一种每个像素都是从黑到白,被处理为256个灰度级别的单色图像,256个灰度级别分别用0(纯黑色)–255(纯白色)的数值表示

案例

import cv2
image = cv2.imread("C:/Users/hanhan/Desktop/image/1.jpg",1)
print(image) #我们输出的矩阵值,并不会显示图像

2.显示图像

cv2.imshow(winname,mat)

**winname:**显示图像的窗口名称,要用引号括起来

**mat:**要显示的图像

retval = cv2.waitKey(delay)

waitKey()方法用于等待用户按下键盘上的按键时间,当用户按下键盘上的任意按键时,将执行waitKey()方法,并且获取waitKey()方法的返回值

retval:按键对应的ASCLL码,例如ESC按键的ASCLL是27,当用户按下ESC,waitKey()返回值是27,如果没有按键被按下,waitkey()方法的返回值是-1

delay: 等待用户按下键盘上按键的时间,单位是毫秒,当delay是负数,0或空时,表示无限等待用户按下键盘上的按键的时间

cv2.destroyAllWindows()

该方法用于销毁所有的正在显示的图像的 窗口,

案例:按下任意键关闭窗口

import cv2
image = cv2.imread("C:/Users/hanhan/Desktop/image/1.jpg",1)
cv2.imshow("ttitle",image) #title1是窗口的名字
cv2.waitKey() 
cv2.destroyAllWindows()

显示图像的窗口名称不能使用中文,否则名称会出现乱码

为了能够正常显示图像,要在cv2.imshow()之后紧跟着cv2.waitKey()

设置窗口显示的时间为5s

 cv2.waitKey(5000)#1000ms为1s

3.保存图像

cv2.imwrite("路径名/图像名.jpg",image)

image:我们操作的图像

案例

import cv2
image = cv2.imread("C:/Users/hanhan/Desktop/image/1.jpg",0)
cv2.imshow("e",image)
cv2.waitKey()
cv2.destroyAllWindows()
cv2.imwrite("C:/Users/hanhan/Desktop/lu/2.jpg",image) #注意路径使用的是"/"

4.获取图像属性

我们将学习三个属性,shape,size,dtype这个三个属性

shape:

如果是彩色图像,那么获取的是一个包含图像的水平像素,垂直像素,和通道数的数组即**(垂直像素,水平像素,通道数)**。

如果是灰度图像,那么获取的是一个包含图像的水平像素和垂直像素的数组即**(垂直像素,水平像素)**

垂直像素指的是垂直方向上的像素(宽),水平像素指的是水平方向上的像素(高)

size:获取的是图像包含的像素个数,其值为“水平像素X垂直像素*X通道数”.灰度图像的通道数为1

dtype:获取的是图像的数据类型

案例

import cv2
image = cv2.imread("C:/Users/hanhan/Desktop/image/1.jpg",0)
cv2.imshow("e",image)
cv2.waitKey()
cv2.destroyAllWindows()
#获取图像的形状
image.shape
#获取图像的大小
image.size
3获取图像的数据类型
image.dtype

roi

也就是我们感兴趣的区域

import cv2
import numpy as np 
img=cv2.imread('/home/duan/workspace/opencv/images/roi.jpg')
ball=img[280:340,330:390] #定位到图像上我们感兴趣的区域
img[273:333,100:160]=ball
#该图像的眼睛部位是我们你感兴趣的

注意

/ 和\\是等价的

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值