我正在参加「启航计划」

Python图画处理运用到的库是opencv-python。

装置库命令:

pipinstallopencv-python

我是在windows上做测验,运用的是Anaconda来装置,这就比较简略了,图形化界面操作。具体运用请移步《Python(三)开源的Python包管理器 anaconda——window装置》

我这儿也只是简略的运用opencv的一些功用。

具体更多具体的功用请参照opencv中文文档:woshicver.com/

这部分文档是由英文翻译成中文的,可能有偏差,谨慎阅读。

也放一下opencv的官方文档吧,谷歌翻译的还不如上边的中文文档。翻译的成果那都不是人话。

docs.opencv.org/4.1.2/d6/d0…

一:运用opencv读取图片

#引进opencv模块
importcv2ascv
#读取图片
img=cv.imread('tu.jpg')
#展现图片
cv.imshow('tu.jpg',img)

运转程序,成果如下图所示:

Python图像处理(一)python_opencv基本使用

二:将图片进行灰度转化

#引进opencv模块
importcv2ascv
#将图片进行灰度转化
gray_img=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
cv.imshow('gray_img',gray_img)

Python图像处理(一)python_opencv基本使用

三:获取原图片尺度:

print(gray_img.shape)

输出:

(1080, 1920, 3)

图片高为1080,宽为1920.

四:图片尺度缩放

图片缩放这儿要侧重的说一下,我也是初学,可能是我没有找到,参数中有必要同时设置宽高才能够,不能想css中那样,设置宽高其中一个值,而让另一个值依据份额缩放,不知道是我没有找到对应的写法,仍是就没有这个功用。我这儿缩放运用的仍是依据其原始份额来设置缩放:

#引进opencv模块
importcv2ascv
#读取图片
img=cv.imread('tu.jpg')
#展现图片
cv.imshow('tu.jpg',img)
#图片尺度缩放
resize_img=cv.resize(img,dsize=(1366,768))
cv.imshow('resize_img',resize_img)

运转程序,如下图所示:

Python图像处理(一)python_opencv基本使用

五:制作矩形

#引进opencv模块
importcv2ascv
#读取图片
img=cv.imread('tu.jpg')
#展现图片
cv.imshow('tu.jpg',img)
#制作矩形
x,y,w,h=100,100,100,100
#留意传递参数个数
(图片目标,左上角坐标,右下角坐标,制作线色彩,线宽度)
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,255,0),thickness=3)
cv.imshow('resize_img',img)

运转程序,如下图所示:

Python图像处理(一)python_opencv基本使用

六:制作圆形

#制作圆
x,y,z=500,500,300
#(图片目标,圆心坐标,半径,制作线色彩,线宽度)
cv.circle(img,center=(x,y),radius=z,color=(0,0,255),thickness=3)
cv.imshow('resize_img',img)

运转程序,如下图所示:

Python图像处理(一)python_opencv基本使用

最终,放一下测验运用悉数代码:

#!/usr/bin/python3
#-*-coding:utf-8-*-
#@Time:2022/3/2219:15
#@Author:stone
#@Email:805795955@qq.com
#@File:task.py
#@Software:PyCharm
#引进opencv模块
importcv2ascv
#读取图片
img=cv.imread('tu.jpg')
#展现图片
cv.imshow('tu.jpg',img)
#将图片进行灰度转化
gray_img=cv.cvtColor(img,cv.COLOR_BGR2GRAY)
cv.imshow('gray_img',gray_img)
#获取原图片尺度:
print(img.shape)
##图片尺度缩放
resize_img=cv.resize(img,dsize=(1366,768))
cv.imshow('resize_img',resize_img)
#制作矩形
x,y,w,h=100,100,100,100
#留意传递参数个数
#(图片目标,左上角坐标,右下角坐标,制作线色彩,线宽度)
cv.rectangle(img,(x,y),(x+w,y+h),color=(0,255,0),thickness=3)
cv.imshow('resize_img',img)
#制作圆
x,y,z=500,500,300
#(图片目标,圆心坐标,半径,制作线色彩,线宽度)
cv.circle(img,center=(x,y),radius=z,color=(0,0,255),thickness=3)
cv.imshow('resize_img',img)
#按esc程序退出
whileTrue:
if27==cv.waitKey(0):
cv.destroyAllWindows()
#num=cv.waitKey(0)
#print(num)

有好的建议,请在下方输入你的评论。