【opencv】opencv图像识别的一些基础的基础函数的使用方法
- import cv2
- import numpy as np
- from matplotlib import pyplot as plt
- pic_path = "deal_with.png"
- def cv_imread():
- """
- 读取图片
- :return:
- """
- # imread的第二个参数告诉函数如何读取这幅图片
- # 0:以灰度模式读入图像
- # 1:读入一副彩色图像,图像的透明度会被忽略,这是默认参数
- # -1:读入一幅图像,并且包括图像的alpha通道
- img = cv2.imread(pic_path, 0)
- # print(img)
- return img
- def cv_imshow():
- """
- 显示图片
- :return:
- """
- img = cv_imread()
- cv2.imshow('image', img)
- cv2.waitKey(0)
- cv2.destroyAllWindows()
- def cv_imwrite():
- """
- 保存图片
- :return:
- """
- img = cv_imread()
- cv2.imwrite(pic_path, img)
- def matplotlib_show_pic():
- """
- 使用matplotlib
- :return:
- """
- img = cv_imread()
- plt.imshow(img, cmap='gray', interpolation='bicubic')
- plt.xticks([]), plt.yticks([])
- plt.show()
- def cv2_video_cap():
- """
- 摄像头
- :return:
- """
- cap = cv2.VideoCapture(0)
- while True:
- ret, frame = cap.read()
- gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
- cv2.imshow('frame', gray)
- if cv2.waitKey(1) & 0xFF == ord('q'):
- break
- cap.release()
- cv2.destroyAllWindows()
- def cv_line():
- """
- 画线
- :return:
- """
- img = np.zeros((512, 512, 3), np.uint8) # 读取图像,这里是一个黑色的图片
- cv2.line(img, (0, 0), (511, 511), (255, 0, 0), 5) # 参数:图像,起点坐标,终点坐标,颜色,粗细(-1为填充)
- cv2.imshow('img', img)
- cv2.waitKey(0)
- def cv_rectangle():
- """
- 画矩形
- :return:
- """
- img = np.zeros((512, 512, 3), np.uint8) # 读取图像,这里是一个黑色的图片
- cv2.rectangle(img, (384, 0), (510, 128), (0, 255, 0), 3) # 参数:图像,左上角顶点坐标,右下角顶点坐标,颜色,粗细(-1为填充)
- cv2.imshow('img', img)
- cv2.waitKey(0)
- def cv_circle():
- """
- 画圆
- :return:
- """
- img = np.zeros((512, 512, 3), np.uint8) # 读取图像,这里是一个黑色的图片
- cv2.circle(img, (447, 63), 63, (0, 255, 0), 1) # 参数:图像,圆形中心坐标,半径大小,颜色,粗细(-1为填充)
- cv2.imshow('img', img)
- cv2.waitKey(0)
- def cv_ellipse():
- """
- 画椭圆
- :return:
- """
- img = np.zeros((512, 512, 3), np.uint8) # 读取图像,这里是一个黑色的图片
- cv2.ellipse(img, (256, 256), (100, 50), 0, 0, 360, 255,
- -1) # 参数:图像,中心点的坐标,长轴、短轴的长度,椭圆沿逆时针方向旋转的角度,椭圆弧演顺时针方向起始的角度和结束角度,如果是 0 跟 360,就是整个椭圆,颜色,粗细
- cv2.imshow('img', img)
- cv2.waitKey(0)
- def cv_put_text():
- """
- 图片上添加文字
- :return:
- """
- img = np.zeros((512, 512, 3), np.uint8) # 读取图像,这里是一个黑色的图片
- font = cv2.FONT_HERSHEY_SIMPLEX # 字体类型
- cv2.putText(img, 'OpenCV', (10, 500), font, 4, (255, 255, 255), 2) # 参数:图像,要绘制的文字,要绘制的位置,字体类型,字体大小,颜色,粗细
- cv2.imshow('img', img)
- cv2.waitKey(0)
【opencv】opencv图像识别的一些基础的基础函数的使用方法的更多相关文章
- java基础(环境设置,基础语法,函数数组)
框架图 环境搭建 课程中常见dos命令: dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : 退回到上一级目录 cd/ : 退回到 ...
- [.net 面向对象编程基础] (3) 基础中的基础——数据类型
[.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...
- [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换
[.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...
- [.net 面向对象编程基础] (5) 基础中的基础——变量和常量
[.net面向对象编程基础] (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...
- [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式
[.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...
- [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句
[.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...
- [.net 面向对象编程基础] (8) 基础中的基础——修饰符
[.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...
- python基础——高阶函数
python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...
- JavaScript基础---语言基础(1)
写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...
- Swift语法基础入门三(函数, 闭包)
Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...
随机推荐
- Centos6.6安装MySQL5.6.24
1.首先需要编译器gcc 编译器和cmake yum -y install gcc+ gcc-c++ cd /usr/local/src wget http://www.cmake.org/files ...
- Codeforces1221D. Make The Fence Great Again(dp)
题目链接:传送门 思路: 仔细想一下可以发现:每个位置最多就增加2个高度. 所以就可以有状态: f[i][j]表示保证前i个篱笆都是great时,第i个篱笆增加j的高度所需要的最小花费(1 <= ...
- codeforces 57 C Array(简单排列组合)
C. Array time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- KeSetEvent
KeSetEvent https://bbs.pediy.com/ dll inject dll注入
- do{}while(0);里面有continue
do{}while(0);里面有continue,退出的只是do{}while(0);
- 使用git管理文件版本
创建版本库 什么是版本库呢?版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改.删除,Git都能跟踪,以便任何时刻都可以 ...
- python-语言播报
利用系统自带模块: 在cmd中 python -m pip install pypiwin32 安装win32com模块 import win32com.client sp=win32co ...
- 大数据学习笔记之初识Hadoop
1.Hadoop概述 1.1 Hadoop名字的由来 Hadoop项目作者的孩子给一个棕黄色的大象样子的填充玩具的命名 Hadoop的官网:http://hadoop.apache.org . 1.2 ...
- 【leetcode】848. Shifting Letters
题目如下: 解题思路:本题首先要很快速的计算出任意一个字符shift后会变成哪个字符,其实也很简单,让shift = shift % 26,接下来再做计算.第二部是求出每个字符要shift的次数.可以 ...
- js 获取滚动位置,滚动到指定位置,平滑滚动
1.获取当前滚动条位置信息 var top = dom.scrollTop; // 获取y轴上的滚动位置 var left = dom.scrollLeft; // 获取x轴上的滚动位置 2.滚动到指 ...