博观而约取,厚积而薄发。这篇文章主要讲述人工智能计算机视觉之OpenCV学习详解一相关的知识,希望能为你提供帮助。
@[toc]
一,前言看准这个方向很久了,今天开始和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)
显示图像的函数imshow
cv2.imshow("im",im)
等待键盘输入关闭,否则会一闪而过。
cv2.waitKey()
【人工智能计算机视觉之OpenCV学习详解一】效果展示:
文章图片
3.1,色彩处理
文章图片
B GR顺序存储。
cv2.imshow("blue",im[:,:,0])
cv2.imshow("green",im[:,:,1])
cv2.imshow("red",im[:,:,2])
色彩分析:
文章图片
这个图不明显哈,换一个。
分析如下:
文章图片
光子数的灰度图。
彩色图片恢复变换算法。
原理,把三个图像做平方x和加权处理。
ga1=cv2.cvtColor(im,cv2.COLOR_BGR2GRAY)
cv2.imshow("gary",ga1)
文章图片
说明了图像粒子分布。
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 npimage =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()
五,后言继续学习。
文章图片
推荐阅读
- Nacos源码系列—订阅机制的前因后果(下)
- C语言_文件操作相关练习题
- 架构师03-业务路由与监控统计的设计
- 数据治理(数据仓库数据质量管理)
- NSSA汇总路由重分发
- 如何查找Linux系统中密码为空的所有用户
- 开源数据库MySQL数据库定义语言DDL
- 自动化运维工具AnsiblePlaybook
- 拯救 openLDAP 的上古管理界面,我写了一个现代化的 ldap 管理后台 go-ldap-admin