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图像识别的一些基础的基础函数的使用方法的更多相关文章

  1. java基础(环境设置,基础语法,函数数组)

    框架图 环境搭建 课程中常见dos命令: dir : 列出当前目录下的文件以及文件夹 md : 创建目录 rd : 删除目录 cd : 进入指定目录 cd.. : 退回到上一级目录 cd/ : 退回到 ...

  2. [.net 面向对象编程基础] (3) 基础中的基础——数据类型

    [.net 面向对象编程基础] (3) 基础中的基础——数据类型 关于数据类型,这是基础中的基础. 基础..基础..基础.基本功必须要扎实. 首先,从使用电脑开始,再到编程,电脑要存储数据,就要按类型 ...

  3. [.net 面向对象编程基础] (4) 基础中的基础——数据类型转换

    [.net面向对象编程基础] (4)基础中的基础——数据类型转换 1.为什么要进行数据转换? 首先,为什么要进行数据转换,拿值类型例子说明一下, 比如:我们要把23角零钱,换成2.30元,就需要把整形 ...

  4. [.net 面向对象编程基础] (5) 基础中的基础——变量和常量

    [.net面向对象编程基础]  (5) 基础中的基础——变量和常量 1.常量:在编译时其值能够确定,并且程序运行过程中值不发生变化的量. 通俗来说,就是定义一个不能改变值的量.既然不能变动值,那就必须 ...

  5. [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式

    [.net 面向对象编程基础] (6) 基础中的基础——运算符和表达式 说起C#运算符和表达式,小伙伴们肯定以为很简单,其实要用好表达式,不是一件容易的事.一个好的表达式可以让你做事半功倍的效果,比如 ...

  6. [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句

    [.net 面向对象编程基础] (7) 基础中的基础——流程控制语句 本来没有这一节的内容,后来考虑到既然是一个系列文章,那么就尽可能写的详细一些,本节参考了网上朋友所写的例子,为的是让更多小伙伴学习 ...

  7. [.net 面向对象编程基础] (8) 基础中的基础——修饰符

    [.net 面向对象编程基础] (8) 基础中的基础——修饰符 在进入C#面向对象核心之前,我们需要先对修饰符有所了解,其实我们在前面说到变量和常量的时候,已经使用了修饰符,并且说明了变量和常量的修改 ...

  8. python基础——高阶函数

    python基础——高阶函数 高阶函数英文叫Higher-order function.什么是高阶函数?我们以实际代码为例子,一步一步深入概念. 变量可以指向函数 以Python内置的求绝对值的函数a ...

  9. JavaScript基础---语言基础(1)

    写在前面: 通过四篇博客把JS基础中的基础整理一下,方便自己查阅,这些内容对于实际项目开发中也许并不会在意,但是作为JS的语言基础,自觉还是应该熟悉.在完成这三篇博客(JavaScript基础---语 ...

  10. Swift语法基础入门三(函数, 闭包)

    Swift语法基础入门三(函数, 闭包) 函数: 函数是用来完成特定任务的独立的代码块.你给一个函数起一个合适的名字,用来标识函数做什么,并且当函数需要执行的时候,这个名字会被用于“调用”函数 格式: ...

随机推荐

  1. Python RSA操作

    公钥加密.私钥解密 # -*- coding: utf-8 -*- import rsa # rsa加密 def rsaEncrypt(str): # 生成公钥.私钥 (pubkey, privkey ...

  2. php 操作分表代码

    //哈希分表 function get_hash_table($table, $userid) { $str = crc32($userid); if ($str < 0) { $hash = ...

  3. CodeBlocks17.12+汉化包下载及用法

    本文已迁移至:https://blog.csdn.net/COCO56/article/details/95228780

  4. ids

    https://www.cnblogs.com/wyt007/p/8309377.html

  5. python笔记(2)--字符串

    一.创建字符串 使用 '' , "" , ''' 和 """ 来创建字符串 var1 = 'hello, world' var2 = "ja ...

  6. mybatis返回自增主键问题踩坑

    1 <insert id="insert" keyProperty="id" useGeneratedKeys="true"
 par ...

  7. postman(一):详解在postman中使用环境变量

    一.定义环境变量 添加环境分支 添加环境变量 切换环境分支 使用脚本设置环境变量 设置集合级别的变量 二.使用环境变量 使用{{变量名称}}的形式引用环境变量. 注:变量可以用在URL,请求参数,请求 ...

  8. bzoj4764 弹飞大爷 LCT

    题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=4764 题解 如果 \(a_i > 0\) 的话,那么就是 bzoj2002 的原题.直接 ...

  9. 前端每日实战:122# 视频演示如何用纯 CSS 创作一个苹果系统的相册图标

    效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/zJKwbO 可交互视频 此视频是可 ...

  10. 【bzoj 4554】【Tjoi2016&Heoi2016】【NOIP2016模拟7.12】游戏

    题目 分析 当没有石头的时候,就用二分图匹配来做. 但现在加入了石头, 所以,求出每行和每列联通快的个数,如果有一块平地,包括在某个行联通块以及某个列联通块中,连边. //无聊打了网络流,匈牙利也可以 ...