IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> opencv 入门 学习笔记 -> 正文阅读

[人工智能]opencv 入门 学习笔记

一.认识Opencv

开源计算机视觉(Opencv)是一个主要针对实时计算机视觉的编程函数库。

Opencv支持深度学习框架TensorFlow,Torch/PyTorch和Caffe。

二.Opencv的简单绘图和显示图片

1.显示图片

①显示图片

import cv2
import numpy as np
img = cv2.imread("D:/ppq")
img = cv2.resize(img,(360,360))
cv2.imshow('乒乓球',img)
cv2.waitKey(0)

这是代码执行后输出的图片

?其中,imread()是为了将图片提取出来,括号内就是图片的地址

resize()可以调整窗口的大小

imshow()是将窗口显示出来并为窗口命名

waitKey()则是窗口停留时间,括号内输入1,窗口则停留1秒,输入0或者不填可以让窗口永久停留,直到手动结束程序。

②绘图

import cv2
import numpy as np
img = 255*np.ones((700,700,3),np.uint8)
#兔子一号
cv2.ellipse(img,(350,100),(50,5),90,0,360,(203,192,255),-1)#耳朵
cv2.ellipse(img,(370,100),(50,5),135,0,360,(203,192,255),-1)#耳朵
cv2.circle(img,(350,150),50,(203,192,255),-1)#脑袋
cv2.ellipse(img,(350,220),(40,20),90,0,360,(203,192,255),-1)#身体
cv2.line(img,(330,200),(300,220),(203,192,255),3)#手臂 左
cv2.line(img,(370,200),(383,210),(203,192,255),3)#手臂 右
cv2.line(img,(383,210),(370,220),(203,192,255),3)#手臂 右
cv2.ellipse(img,(330,265),(20,10),0,0,360,(203,192,255),-1)#脚
cv2.ellipse(img,(370,265),(20,10),0,0,360,(203,192,255),-1)#脚
cv2.circle(img,(330,135),15,(255,255,255),-1)#眼睛
cv2.circle(img,(370,135),15,(255,255,255),-1)#眼睛
cv2.circle(img,(337,135),7,(0,0,0),-1)#眼球
cv2.circle(img,(338,137),1,(255,255,255),-1)#眼球左 高光1
cv2.circle(img,(336,133),2,(255,255,255),-1)#眼球左 高光2
cv2.circle(img,(363,135),7,(0,0,0),-1)#眼球
cv2.circle(img,(362,137),1,(255,255,255),-1)#眼球右 高光1
cv2.circle(img,(364,133),2,(255,255,255),-1)#眼球右 高光2
cv2.ellipse(img,(350,165),(20,5),0,0,170,(0,0,0),2)#嘴巴
cv2.ellipse(img,(320,155),(5,2),0,0,360,(0,0,255),-1)#腮红
cv2.ellipse(img,(380,155),(5,2),0,0,360,(0,0,255),-1)#腮红
cv2.ellipse(img,(300,220),(20,8),45,0,360,(100,100,255),-1)#胡萝卜
cv2.ellipse(img,(279,209),(5,1),5,0,360,(0,255,100),-1)#胡萝卜叶1
cv2.ellipse(img,(282,202),(5,1),35,0,360,(0,255,100),-1)#胡萝卜叶2
cv2.ellipse(img,(280,205),(5,1),355,0,360,(0,255,100),-1)#胡萝卜叶3
cv2.ellipse(img,(350,230),(20,10),90,0,360,(255,255,255),-1)#肚皮
cv2.putText(img,'Rabbit',(400,350),cv2.FONT_HERSHEY_DUPLEX,1,(0,0,0),2)#字符输入
cv2.imshow('peppa rabbit',img)
cv2.waitshow(0)

这是执行后的图片

?通过代码和图片我们可以知道,图片中的兔子由各种形状和各种颜色的图形所组成,如椭圆形,线段,圆形和矩形。而这些图形的属性由各种参数来实现。

现在,我们就来看看各种图形的参数所对应的属性是什么。

cv.ellipse(椭圆形)(img(图形显示在该图像上),(c1,c2)(椭圆中心的坐标),(c1,c2)(椭圆的长轴的一半长度,椭圆的短轴的一半长度),c1(图形旋转度数),c2(椭圆弧起始角度),c3(椭圆弧终止角度),(c1(blue),c2(green),c3(red))(这部分就是图形的颜色),c(图形粗细))

【注:对于RGB(颜色)部分,参数的范围是0-255】

【注:对于图形粗细,当输入参数=-1时,将会对图形进行填充,如果输入为正数,那么图形将是由不同粗细的线条所组成的】

cv.circle(圆形)(img(图形显示在该图像上),(c1,c2)(圆心坐标),c(圆的半径长度),(c1(blue),c2(green),c3(red)),c(粗细))

cv.line(线段)(img(图形显示在该图像上),(c1,c2)(线段起始点的坐标),(c1,c2)(线段终止点的坐标),(c1(blue),c2(green),c3(red)),c(粗细))

【注:线段的粗细参数没有负值】

cv.rectangle(矩形)(img(图形显示在该图像上),(c1,c2)(矩形左上角端点坐标),(c1,c2)(矩形右下角端点坐标),(c1(blue),c2(green),c3(red)),c(粗细))

对于字符输出:

如果想要在窗口上显示字符

就要输入类似此段的代码:cv2.putText(img(字符显示在此图像上),'Rabbit'(输入的字符),(400,350)(字符坐标),cv2.FONT_HERSHEY_DUPLEX(字体),1(大小),(0,0,0)(BGR),2(粗细))

此段代码则是对窗口的创建:img = 255*np.ones((700,700,3),np.uint8)

其中700,700是窗口长与宽的参数值。

当然,我们可以把对窗口的创建改变为提取一张图片,然后在图片上进行标记或者绘图

比如:

import cv2
import numpy as np
img = cv2.imread("D:/ppq")
img = cv2.resize(img,(700,700))
cv2.rectangle(img,(400,100),(600,300),(255,0,255),3)#(左上顶点坐标,右下顶点坐标,R G B,粗细)
cv2.circle(img,(150,300),100,(0,0,0),3)#(圆心坐标,半径,R G B,粗细)
cv2.ellipse(img,(200,200),(100,50),0,0,360,(0,0,255),-1)
cv2.imshow('ppq',img)
cv2.waitKey()

?(不小心就把我龙队帅气的脸庞遮住了0.0)

最后,本人能力有限,只懂得这些,我会继续努力的!

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:37:27  更:2021-11-30 15:37:33 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 3:45:43-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码