opencv基础教程 之 图像基础和绘图

1,教程:感谢小强

2,用argparse传参数来显示一张图片

#!/usr/bin/python    #linux系统
#coding=utf-8

import cv2
import argparse    #python很常用的一个自带包

ap=argparse.ArgumentParser()    #先实例化一个argparse
ap.add_argument("--image","-i",required=True,help="path to the image")    #调用argparse下的一个方法,这样我们就可以告诉程序,我们后面输入的参数是个什么参数,参数是:标签全称,简称,参数是不是必须的(required),action=“function”(可选参数),help:显示帮助信息
args=vars(ap.parse_args())  #参数名和内容的键值对字典,这个直接记住吧,估计是让参数名和参数的实际值形成了一个字典,字典名字叫args

image=cv2.imread(args["image"])    
print "height",image.shape[0],"px"
print "width",image.shape[1],"px"
print "channels",image.shape[2]
cv2.imshow("image",image)    #图像显示出来

image[0:5,0:5,]=(0,0,255) #把图像y轴上0-5,x轴上0-5的像素变成红色,打印出来
cv2.imshow("color",image)

  (h,w)=image.shape[:2]
  (cx,cy)=(w/2,h/2) #图像中心点

  t1=image[0:cy,0:cx]   #截取左上角的pic
  cv2.imshow("part1",t1)

cv2.waitKey(0)
cv2.destroyAllWindows()

 3,opencv绘图

#!/usr/bin/python
#!coding=utf-8

import numpy as np
import cv2

# 初始化一块400*600的画布(相当于生成一个numpy数组,也就是一幅图像),注意这里的画布是三通道的,也就是彩色图像
canvas = np.zeros((400, 600, 3), dtype="uint8")    #注意400是高度y轴,600是宽度

# 画一条绿线
green = (0, 255, 0)
# 起点(0, 0)至终点(600, 400),颜色绿色。PS.这里有一个默认参数,线宽默认为1个像素
cv2.line(canvas, (0, 0), (600, 400), green,4)    #画布,开始坐标,终点坐标,线的颜色和线的粗细
cv2.imshow("Canvas", canvas)    #显示出来瞅瞅
cv2.waitKey(0)

cv2.rectangle(canvas,(0,0),(15,150),green,1) #画矩形的函数:rectangle,需要的是指定原点(矩形的左上角)和矩形的水平宽度和高度,往后是线条颜色 和宽度,注意宽度是-1的时候表示填充
cv2.imshow("Canvas", canvas) #显示出来瞅瞅
cv2.waitKey(0)

 cv2.circle(canvas,(100,150),50,(255,255,255))    #画一个圆形,圆心坐标(x,y),半径50,颜色(255,255,255,)白色

 cv2.imshow("Canvas", canvas)
 cv2.waitKey(0)

猜你喜欢

转载自www.cnblogs.com/0-lingdu/p/9880420.html
今日推荐