Python-OpenCV,基于标准文档的实例(二)
2018-03-27 23:57
381 查看
一、用滑动条做调色板
现在我们来创建一个简单的程序:通过调节滑动条来设定画板颜色。我们要创建一个窗口来显示显色,还有三个滑动条来设置B,G,R 的颜色。当我们
滑动滚动条是窗口的颜色也会发生相应改变。默认情况下窗口的起始颜色为黑。
cv2.getTrackbarPos() 函数的一个参数是滑动条的名字,第二个参数
是滑动条被放置窗口的名字,第三个参数是滑动条的默认位置。第四个参数是
滑动条的最大值,第五个函数是回调函数,每次滑动条的滑动都会调用回调函
数。回调函数通常都会含有一个默认参数,就是滑动条的位置。在本例中这个
函数不用做任何事情,我们只需要pass 就可以了。
滑动条的另外一个重要应用就是用作转换按钮。默认情况下OpenCV 本
身不带有按钮函数。所以我们使用滑动条来代替。在我们的程序中,我们要创
建一个转换按钮,只有当装换按钮指向ON 时,滑动条的滑动才有用,否则窗
户口都是黑的。
import cv2 import numpy as np def nothing(x): pass drawing=False mode=True ix,iy=-1,-1 def draw_circle(event,x,y,flags,param): r=cv2.getTrackbarPos('R','image') g=cv2.getTrackbarPos('G','image') b=cv2.getTrackbarPos('B','image') color=(b,g,r) global ix,iy,drawing,mode if event==cv2.EVENT_LBUTTONDOWN: drawing=True ix,iy=x,y elif event==cv2.EVENT_MOUSEMOVE and flags==cv2.EVENT_FLAG_LBUTTON: if drawing==True: if mode==True: cv2.rectangle(img,(ix,iy),(x,y),color,-1) else: cv2.circle(img,(x,y),3,color,-1) elif event==cv2.EVENT_LBUTTONUP: drawing==False cv2.circle(img,(30,30),30,(r,g,b),-1) img=np.zeros((400,600,3),np.uint8) cv2.namedWindow('image') cv2.createTrackbar('R','image',0,255,nothing) cv2.createTrackbar('G','image',0,255,nothing) cv2.createTrackbar('B','image',0,255,nothing) cv2.setMouseCallback('image',draw_circle) while(1): cv2.imshow('image',img) k=cv2.waitKey(1)&0xFF if k==ord('m'): mode=not mode elif k==27: break cv2.destroyAllWindows()
二、图像的基础操作
目标• 获取像素值并修改
• 获取图像的属性(信息)
• 图像的ROI()
• 图像通道的拆分及合并
图像混合
import cv2 import numpy as np img1=cv2.imread('cat.png') img2=cv2.imread('cpm.png') dst=cv2.addWeighted(img1,0.6,img2,0.4,0) cv2.imshow('dst',dst) cv2.waitKey(0) cv2.destroyAllWindows()
相关文章推荐
- Python-OpenCV,基于标准文档的实例(一)
- 基于python语言:Opencv3实例学习笔记1
- 基于python语言:Opencv3实例学习笔记2
- opencv python 基于KNN的手写体识别的实例
- Python基于opencv的图像压缩算法实例分析
- 基于OpenCV及Python的数独问题识别与求解(二)边框识别与图像矫正
- Python基于回溯法解决01背包问题实例
- 基于OpenCV-python3实现抠图&替换背景图
- 基于Python实现的扫雷游戏实例代码
- 基于MFC单文档下调用opencv库并将图片效果显示在单文档窗口
- python解析xml文档实例
- 【基于C++和Python的Opencv3学习笔记之图像载入、显示和保存】
- 基于opencv的摄像头脸部识别抓取及格式储存(python)
- Appium+XCUITest基于Python的操作实例以及环境搭建
- python解析html提取数据,并生成word文档实例解析
- 【python】numpy库数组拼接快捷方式horizontal&vertical、np.c_、np.column_stack等官方文档详解与实例
- python对excel文档去重及求和的实例
- python codis集群客户端(二) - 基于zookeeper对实例创建与摘除
- [OpenCV-Python] 第一章 入门小实例
- Appium+XCUITest基于Python的操作实例以及环境搭建