OpenCV+python图像处理基础操作
1、读写图像(建议使用绝对路径)
import cv2 from cv2
im = cv2.imread('C:/Users/admin/Desktop/test/1.jpg')
cv2.imwrite('C:/Users/admin/Desktop/test/2.jpg',im)
2、通过numpy生成8位单通道灰度图像,再通过OpenCV将灰度图转换为3通道彩色图像
import cv2 from cv2
import numpy
img = np.zeros((3,3),dtype=np.uint8)
img = cv2.cvtColor(img,cv2.COLOR_GRAY2BGR)
3、读取彩色图像并转换为灰度图
import cv2 from cv2
img = cv2.imread('C:/Users/admin/Desktop/test/1.jpg',cv2.IMREAD_GRAYSCALE)
cv2.imwrite('C:/Users/admin/Desktop/test/3.jpg',img)
4、通过bytearray和numpy创建随机图像
import cv2 from cv2
import numpy
#生成大小为120000的随机byte数组
randomByteArray = bytearray(os.urandom(120000))
#将byte数组转换为numpy数组
flatNumpyArray = numpy.array(randomByteArray)
#把numpy数组转换为二维图像
grayImage = flatNumpyArray.reshape(300,400)#把numpy数组转换为3通道彩色图像
bgrImage = flatNumpyArray.reshape(200,200,3)
cv2.imwrite('C:/Users/admin/Desktop/test/3.jpg',bgrImage)
5、直接通过numpy直接生成随机图像
imageArray = numpy.random.randint(0,256,120000).reshape(200,200,3)
6、通过numpy.array中的item()访问图像像素值,位置和BGR索引
import cv2 from cv2
import numpy
image = cv2.imread('C:/Users/admin/Desktop/test/1.jpg')
print(image.item(100,100,2))
7、使用索引遍历图像,OpenCV中图像3个通道顺序为BGR,即blue,green,red。
#对图像进行遍历,并将B通道置零
import cv2 from cv2
import numpy
image[:,:,0]=0
cv2.imwrite('C:/Users/admin/Desktop/test/4.jpg',image)
8、将图像一部分区域拷贝到另一部分区域,两部分区域大小必须保持一致,且不能超过图像范围。
import cv2 from cv2
import numpy
#将图像纵轴0-50,横轴50-100区域拷贝到纵轴100-150,横轴100-150区域
image_block = image[0:50,50:100]
image[100:150,100:150] = image_block
cv2.imwrite('C:/Users/admin/Desktop/test/4.jpg',image)
9、获取图像属性,image.shape可以获取图像高、宽和通道数,返回一个长度为3的数组。
import cv2 from cv2
im = cv2.imread('C:/Users/admin/Desktop/test/1.jpg')
#获取图像宽、高和通道数
arr = image.shape
Height = arr[0]
Width = arr[1]
print(Height)
print(Width)
#获取图像大小,size=高*宽*通道数
print(image.size)
#获取图像数据类型,一般为uint8
print(image.dtype)
10、通过OpenCV显示图像
import cv2 from cv2
im = cv2.imread('C:/Users/admin/Desktop/test/1.jpg')
cv2.imshow('img',image)
cv2.waitKey()
cv2.destroyAllWindows()
OpenCV+python图像处理基础操作相关推荐
- Python图像处理基础
Python图像处理基础 对我个人而言使用Python图像处理意在取代matlab,集中化使用Python环境保证之后在机器学习和OpenCV的使用上具有一致性,虽然从实验室师兄师姐的口中得知Pyth ...
- Opencv Python图像处理进阶教程②
Opencv Python图像处理进阶教程 概述: 代码: https://github.com/bai1231/opencv-learn_and_pratice 1. 图像卷积与应用 图像去噪 图像 ...
- python图像处理基础知识(cv库函数说明)
python图像处理基础知识,函数说明 目录 python图像处理基础知识,函数说明 1.处理照片(open_cv库) 1.1 cv2.imread('filepath',flags) 1.2 cv2 ...
- python图像处理基础知识(plt库函数说明)
python图像处理基础知识,plt库函数说明 目录 python图像处理基础知识,plt库函数说明 1.画图(plt库) 1.1 plt.figure(num='',figsize=(x, y),d ...
- OpenCV实战(1)——OpenCV与图像处理基础
OpenCV实战(1)--OpenCV与图像处理基础 0. 前言 1. OpenCV 基础 1.1 安装 OpenCV 1.2 OpenCV 主要模块 1.3 使用 Qt 进行 OpenCV 开发 2 ...
- Python语音基础操作--4.3共振峰估计
<语音信号处理试验教程>(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的.使用CSDN博客查看帮助文件 ...
- Python语音基础操作--11.2基于GMM的说话人识别模型
<语音信号处理试验教程>(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的.使用CSDN博客查看帮助文件 ...
- Python语音基础操作--6.3ADPCM编码
<语音信号处理试验教程>(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的.使用CSDN博客查看帮助文件 ...
- Python语音基础操作--2.3声强与响度
<语音信号处理试验教程>(梁瑞宇等)的代码主要是Matlab实现的,现在Python比较热门,所以把这个项目大部分内容写成了Python实现,大部分是手动写的.使用CSDN博客查看帮助文件 ...
最新文章
- Jmeter调试工具---Debug Sampler
- javax.crypto.BadPaddingException: Data must sta...
- dubbo源码解析(三十五)集群——cluster
- 帝国cms7.5百度小程序针对搜索引擎自然搜索优化版生成静态版
- android 连接 asp.net webservice 简单记录
- 【STM32】光敏传感器示例
- php 空函数,PHP 中函数 isset(), empty(), is_null() 的区别
- Flink DataStream 关联维表实战
- 软件设计模式概述(摘自《研磨设计模式》)
- Excel在两列排序不同的数据中查找出不同的数据
- Ubuntulinux离线安装ClamTk杀毒软件步骤和使用方法
- 吉他演奏中的速度与节拍
- JZOJ.5236【NOIP2017模拟8.7】利普希茨
- 转“软件测试职业发展方向”
- centos命令行常用快捷键
- php 实现保留两位小数
- 用python爬取《龙岭迷窟》评论,看看比同系列鬼吹灯作品以及《盗墓笔记》好在哪里?...
- 赛普拉斯代理4Mbit串行SPI铁电存储器CY15B104Q-LHXI
- 【数据分发服务DDS】软件定义汽车【一】- 概述
- QCY T1S 蓝牙耳机使用说明
热门文章
- 02.uri-search
- Zookeeper 客户端源码吐血总结
- zoj 3705 Applications
- 1005 Spell It Right (20 分)——13行代码Ac
- 38行代码AC——L1-025 正整数A+B (15分)(~解题报告~)
- 单片机原理及其应用——单片机控制单个发光二极管实验(附超详细的C51单片机实验教程)
- oracle loder nextval,ORA-07445: 出现异常错误: 核心转储
- 数据库概述(了解数据库,当前数据库介绍,mysql数据库介绍,安装mysql数据库)
- 吉林大学计算机科学与技术学院王欣,应用改进迭代最近点方法的点云数据配准...
- Android对话框dialog大全