markdown Python OpenCV常用函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了markdown Python OpenCV常用函数相关的知识,希望对你有一定的参考价值。

##  图像上添加文字及图形  
- putText():添加文字
``````
import cv2
import numpy as np
img = cv2.imread("image0.JPG",1)
#字体的类型
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.rectangle(img,(200,100),(500,400),(0,255,0),3)
#文字的绘制
#第一个参数 图片的数据
#第二个参数 文字内容
#第三个参数 坐标位置
#第四个参数 字体的类型
#第五个参数 字体的大小
#第六个参数 颜色color
#第七个参数 线条的粗细
#第八个参数 线条的类型
cv2.putText(img,"this is flower ",(100,300),font,1,(200,100,255),3,cv2.LINE_AA)
cv2.imshow("src",img)
cv2.waitKey(0)
cv2.imwrite('test.jpg',draw)
``````
- rectangle():矩形绘制  
``````
import cv2
import numpy as np
newImageInfo = (500,500,3)
dst = np.zeros(newImageInfo,np.uint8)
#矩形的绘制,第一个参数 为图片的数据
#第二个参数 左上角
#第二个参数 右下角
#第四个参数 -1 填充 如果大于 0 :5 线宽
cv2.rectangle(dst,(50,100),(200,300),(255,0,0),5)
``````
- circle():圆的绘制  
``````
import cv2
import numpy as np
newImageInfo = (500,500,3)
#椭圆的绘制
#第一个参数 图片的数据
#第二个参数 椭圆的中心
#第三个参数 椭圆的长短轴的长度
#第四个参数  angle 偏转的角度
#第五个参数 start_angle 圆弧起始角的角度
#第六个参数 end_angle 圆弧终结角的角度
#第七个参数  color 线条的颜色
#第八个参数   thickness 线条的粗细程度
#第九个参数   line_type 线条的类型
cv2.ellipse(dst,(256,256),(150,100),0,0,180,(255,255,0),-1)
``````
- polylines():多边形的绘制  
``````
import cv2
import numpy as np
newImageInfo = (500,500,3)
#多线条的绘制
#先确定连接的点
#在矩阵变换
#最后绘制
points = np.array([[150,50],[140,140],[200,170],[250,250],[150,50]],np.int32)
points = points.reshape(-1,1,2)
cv2.polylines(dst,[points],True,(0,255,255))
cv2.imshow("dst",dst)
cv2.waitKey(0)
``````
## 图像剪裁  
``````
import cv2 
img = cv2.imread("./data/cut/thor.jpg")print(img.shape)
cropped = img[0:128, 0:512]  
# 裁剪坐标为[y0:y1,x0:x1]
# x0: left
# y0: upper
# x1: right
# y1: lower
cv2.imwrite("./data/cut/cv_cut_thor.jpg", cropped)
``````
## 图像缩放
函数原型:`cv2.resize(InputArray src, OutputArray dst, Size, fx, fy, interpolation)`
![](https://ws1.sinaimg.cn/large/cdd040eely1g345etrdu2j20ue0lfgmm.jpg)  
注意:  
1.输出尺寸格式为(宽,高)  
2.默认的插值方法为:双线性插值  
``````
import cv2 as cv
# 读入原图片
img = cv.imread('test.jpg')
# 打印出图片尺寸
print(img.shape)
# 将图片高和宽分别赋值给x,y
x, y = img.shape[0:2]
# 显示原图
cv.imshow('OriginalPicture', img)
# 缩放到原来的二分之一,输出尺寸格式为(宽,高)
img_test1 = cv.resize(img, (int(y / 2), int(x / 2)))
cv.imshow('resize0', img_test1)
cv.waitKey()
# 最近邻插值法缩放
# 缩放到原来的四分之一
img_test2 = cv.resize(img, (0, 0), fx=0.25, fy=0.25, interpolation=cv.INTER_NEAREST)
cv.imshow('resize1', img_test2)
cv.waitKey()
cv.destroyAllWindows()
``````

以上是关于markdown Python OpenCV常用函数的主要内容,如果未能解决你的问题,请参考以下文章

Python opencv 常用操作

☀️Python+opencv常用函数☀️《❤️记得关注专栏❤️》

opencv-python常用知识速查

markdown Python的常用模块

markdown Python的常用功能代码段

OpenCV-Python教程:22.轮廓层级