opencv在机器学习中一般用在读入图片的过程。
一 读入图片
1.1导入基本的库
#coding:utf-8
from numpy import *
import cv2
1.2从窗口中导入一张图片
win_name="mypicyure" #窗口名称
#cv2.WINDOW_NORMAL 窗口大小可自定义
cv2.namedWindow(win_name,cv2.WINDOW_NORMAL) #创建窗口
img=cv2.imread("snapshot0001.jpg",1) #1原图0黑白图
cv2.imshow(win_name,img) #显示图片
cv2.waitKey(0)
cv2.destroyALLWindows() #销毁创建的对象
1.3保存图片并转化为PGM格式
cv2.imwrite("paulwalker.mono.pgm",img) #将图片转换为pgm格式
二 图形操作
2.1在Mstplotlib中显示图片
from numpy import *
import cv2
from matplotlib import pyplot as plt
img=cv2.imread('snapshot0001.jpg',0)#黑白图
plt.imshow(img,cmap="gray",interpolation="bicubic")
plt.xticks([]),plt.yticks([])#隐藏x.y坐标
plt.show()
2.2绘制直线和矩形
from numpy import *
import cv2
from matplotlib import pyplot as plt
img=zeros((512,512,3))
cv2.line(img,(0,0),(512,512),(0,255,255))#起点(0,0)终点(512,512)颜色(0,255,255)
cv2.rectangle(img,(150,150),(350,350),(255,255,0),2)#左上角(0,0)右下角(512,512)颜色(255,255,0)
cv2.ellipse(img,(255,350),(100,50),0,0,360,(255,255,0),2)#椭圆
cv2.circle(img,(255,255),60,(0,255,255),2)#圆
pts=array([[50,100],[150,150],[170,120],[250,210],[250,310]])#多边形
cv2.polylines(img,[pts],True,(255,0,255),2)
font=cv2.FONT_HERSHEY_SIMPLEX#文字
cv2.putText(img,"hahaha.....",(0,455),font,2,(255,255,255),2)
cv2.imshow("image",img)
cv2.waitKey(0)
cv2.destroyAllWindows()