首页 > 其他分享 >图像基本操作

图像基本操作

时间:2022-11-04 10:22:27浏览次数:55  
标签:img cv2 cat 图像 基本操作 ### size

数据读取-图像

###图像读取
img=cv2.imread('imag.jpg')

###图像显示
cv2.imshow('imag',img) 

###读取灰度图
img=cv2.imread('cat.jpg',cv2.IMREAD_GRAYSCALE)
#cv2.IMREAD_COLOR:彩色图像
#cv2.IMREAD_GRAYSCALE:灰度图像

###转灰度图
cv2.cvtColor(color_img,cv2.COLOR_RGB2GRAY)

###函数
img.shape#获取(高度,宽度,通道数)
img.size#获取像素点个数
img.dtype#数据类型

###等待时间,毫秒级,0表示任意键终止
cv2.waitKey(0) 
cv2.destroyAllWindows()

数据读取-视频

###读取
vc = cv2.VideoCapture('test.mp4')

###视频打开情况
open,frame=vc.read()#open是布尔值判断当前帧是否正确读取,frame是当前帧的三维数组

###截取部分图像数据
img'=img[0:50,0:200] 

###颜色通道提取
b,g,r=cv2.split(img)

###只保留R通道
# 0:B   1:G   2:R
img[:,:,0]=0
img[:,:,1]=0

边界填充

top_size,bottom_size,left_size,right_size = (50,50,50,50)#上下左右分别填充的大小
replicate = cv2.copyMakeBorder(img, top_size, bottom_size, left_size, right_size, borderType=cv2.BORDER_REPLICATE)
#### borderType按照什么方式填充,填充方式如下:
#BORDER_REPLICATE:复制法,也就是复制最边缘像素。
#BORDER_REFLECT:反射法,对感兴趣的图像中的像素在两边进行复制例如:fedcba|abcdefgh|hgfedcb
#BORDER_REFLECT_101:反射法,也就是以最边缘像素为轴,对称,gfedcb|abcdefgh|gfedcba
#BORDER_WRAP:外包装法cdefgh|abcdefgh|abcdefg
#BORDER_CONSTANT:常量法,常数值填充

数值计算

###像素值相加超过255得到的是对256的余,如294-->38
(img_cat + img_cat2)[:5,:,0] 
###add函数,越界取255,如294-->255
cv2.add(img_cat,img_cat2)

图像融合

图像融合首先要有相同的图像大小

###resize
###将图像设置为指定大小,resize(img,(宽度,高度))
img_dog = cv2.resize(img_dog, (500, 414))
img_cat = cv2.resize(img_cat, (500, 414))
###将图像按比增大
res = cv2.resize(img, (0, 0), fx=4, fy=4)#横向纵向各增大4倍
res = cv2.resize(img, (0, 0), fx=1, fy=3)#横向增为1倍纵向3倍

###融合,下式相当于0.4*cat+0.6*dog+0, 0是提高的亮度
res = cv2.addWeighted(img_cat, 0.4, img_dog, 0.6, 0)

标签:img,cv2,cat,图像,基本操作,###,size
From: https://www.cnblogs.com/wxy214/p/16856820.html

相关文章

  • matlab画三维图像
    当我们学习surface命令时,已经看到了三维作图的一些端倪。在matlab中我么可以调用mesh(x,y,z)函数来产生三维图像。首先,我们用z=cos(x)sin(y)在-2pi≤x,y≤2pi内的图像来......
  • jquery获取所有子元素遍历_Cypress 页面元素基本操作方式
    获取DOM元素基本方式.find(selector)搜索定位元素.get(selector)搜索定位元素.contains(selector)搜索定位元素.children()方法用来获取DON元素的子元素.parents......
  • 智能车图像处理去畸变教程
    ​逆透视请参考:智能车逆透视教程(含上位机、源码)_Wyean的博客-CSDN博客 去畸变+逆透视请参考:智能车去畸变+逆透视教程_LoseHu的博客-CSDN博客去畸变:如下1.简介  ......
  • 智能车图像处理逆透视教程
    ​去畸变请参考:图像处理去畸变教程_LoseHu的博客-CSDN博客去畸变+逆透视请参考:​​​​​​​​​​​​​​​​​​​​​智能车去畸变+逆透视教程_LoseHu的博客-CSDN......
  • 智能车图像处理去畸变+逆透视教程
    ​逆透视请参考:智能车逆透视教程(含上位机、源码)_LoseHu的博客-CSDN博客去畸变请参考:智能车去畸变教程(含上位机、源码)_LoseHu的博客-CSDN博客​逆透视+去畸变:如下1......
  • 文件的一些基本操作
    文件的创建(三种不同方法)     文件信息的查询操作1)2)一个汉字三个字节,一个英文一个字节  文件夹的创建1)删除文件  2)删除目录  3)判断目录......
  • 【WTMM】基于WTMM的图像多重分形谱matlab仿真
    1.软件版本matlab2013b2.系统程序提出一种新的多重分形图象去噪算法,讨论了基于小波极大模的多重分形谱估计算法.在此基础上推导了图像取噪声的谱移位算子.该方法没有......
  • 顺序表的基本操作_F_hawk189_新浪博客
    程序要求:建立一个顺序表,用户通过输入个数和一组非递减顺序的数,即顺序表按照非递减顺序排列,对顺序表进行建立,删除指定位置的数,查找指定位置的数,插入一个数字功能。程序代码如......
  • 手把手教你使用LabVIEW实现Mask R-CNN图像实例分割
    前言前面给大家介绍了使用LabVIEW工具包实现图像分类,目标检测,今天我们来看一下如何使用LabVIEW实现MaskR-CNN图像实例分割。一、什么是图像实例分割?图像实例分割(Inst......
  • 医学图像处理教程(二)——医学图像读取,存储和不同对象互相转换
    今天将给大家分享医学图像读取,包括dicom图像和非dicom图像,图像的存储以及修改图像信息后产生的变化结果,最后再介绍如何将SimpleITK的图像数据与Numpy的数据进行互相转换。1......