【人工智能】计算机视觉之OpenCV学习详解一

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第7天,点击查看活动详情

一,前言

看准这个方向很久了,今天开始和Java,Go一起推进学习。不求多,每天学习一点点。

二,OpenCV安装

作为Python选手的我,当然选择了Python语言来学习OpenCV。

编译器:还是使用pycharm哈。

安装OpenCV-python模块,可以使用pip安装或者编译器安装。 本人亲身体验,编译器安装极慢,推荐使用清华大学的镜像安装。

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple opencv-python
复制代码

看情况,编译器安装也可。

三,实战学习

import cv2
print(cv2.getVersionString())
复制代码

先输出看一下模块版本,正常输出版本号,代表正常。

函数imread(filepath,flags)读入图片。 输出他的大小参数信息。

im=cv2.imread("C:/Users/24190/Pictures/zhu.jpg")
print(im.shape)
复制代码

4.5.4

(150, 150, 3)

显示图像的函数imshow

cv2.imshow("im",im)
复制代码

等待键盘输入关闭,否则会一闪而过。

cv2.waitKey()
复制代码

效果展示: 在这里插入图片描述

3.1,色彩处理

在这里插入图片描述 BGR顺序存储。

cv2.imshow("blue",im[:,:,0])
cv2.imshow("green",im[:,:,1])
cv2.imshow("red",im[:,:,2])
复制代码

色彩分析: 在这里插入图片描述 这个图不明显哈,换一个。

分析如下: 在这里插入图片描述

光子数的灰度图。 彩色图片恢复变换算法。 原理,把三个图像做平方和加权处理。

ga=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
cv2.imshow("gary",ga)
复制代码

在这里插入图片描述

说明了图像粒子分布。

3.2,裁剪提取

裁剪:

crop=im[10:270,40:200]
cv2.imshow("crop",crop)
复制代码

索引顺序,先下在上。

在这里插入图片描述

3.3,图像绘制

使用numpy模块

image =np.zeros([300,300,3],dtype=np.uint8)
复制代码

构建一个300×300,边框像素为3的黑色画布 我们话一条线,语法:cv2. line (图像, 起点, 终点, 颜色, 厚度)

cv2.line(image,(100,100),(250,250),(255,0,0),2)
复制代码

绘制一个四边形(图片,长方形框左上角坐标, 长方形框右下角坐标, 字体颜色,字体粗细)

cv2.rectangle(image,(30,100),(60,150),(0,255,0),2)
复制代码

绘制一个圆(image, center_coordinates, radius, color, thickness)

cv2.circle(image,(150,100),20,(0,0,255),3)
复制代码

绘制一个字符串。图片,要添加的文字,文字添加到图片上的位置 ,字体的类型,字体大小,字体颜色,字体粗细。

cv2.putText(image,"hello",(100,50),0,1,(255,255,255),2,1)
复制代码

在这里插入图片描述

四,源码

import cv2
import numpy as np

image =np.zeros([300,300,3],dtype=np.uint8)

cv2.line(image,(100,100),(250,250),(255,0,0),2)
cv2.rectangle(image,(30,100),(60,150),(0,255,0),2)
cv2.circle(image,(150,100),20,(0,0,255),3)

cv2.putText(image,"hello",(100,50),0,1,(255,255,255),2,1)
cv2.imshow("img",image)
cv2.waitKey()
复制代码

五,后言

继续学习。 在这里插入图片描述

猜你喜欢

转载自juejin.im/post/7105411814648709150