四时宝库

程序员的知识宝库

opencv+图像处理(1)之图像的简单操作

opencv简介

OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

opencv官网:https://opencv.org/

opencv安装

软件:anaconda + pycharm

anaconda用于安装python、opencv等用到等库;使用指令安装:pip install opencv-python;

pycharm用于编写.py文件。

opencv图像处理基本语句

读取图像

  • 函数:imread(const string& filename,int flag)
  • 参数:第一个参数filename为图像路径;第二个参数flag(默认以RGB通道读取图像),0表示总是读出灰度图,1表示总是读出彩色图,2表示读出原深度图像,4表示读出原颜色图像

显示图像

  • 函数:imshow(const string& winname, InputArray mat)
  • 参数:第一个参数winname表示需要显示的窗口标识名称;第二个参数mat表示需要显示的图像
  • 在一般编程时,imshow()会和waitKey()一同出现,用于将图像显示框延迟一定的时间

延时函数

  • 函数:waitKey(int delay)
  • 参数:等待的时间,当delay≤ 0,一直等待,按任意键关闭窗口;当delay>0时,就是等待delay毫秒。

保存图像

  • 函数:imwrite(const string& filename, InputArray img, const vector<int>& params=vector<int>() )
  • 参数:第一个参数filename表示需要写入的文件名;第二个参数img表示要保存的图像;第三个参数params表示为特定格式保存的参数编码

将图像转为灰度图

  • 函数:cvtColor(src, code, dst, dstCn)
  • 参数:第一个参数src表示原图像;第二个参数code表示图像转换类型;第三个参数dst默认值为None;第四个参数dstCn默认值为None

将两幅图像按权重融合

  • 函数:addWeighted(src1, alpha, src2, beta, gamma, dst, dtype)
  • 参数:第一个参数src1表示融合的第一幅图像;第二个参数alpha表示融合第一幅图像的权重;第三个参数src2表示融合的第二幅图像;第四个参数beta表示融合第二幅图像的权重;第五个参数gamma表示图一与图二作和后添加的数值,一般该值设置的不要太大
  • 在使用该函数中,需要将两幅图像调整为同一尺寸,因此需要先用resize()函数调整图像的尺寸

改变图像大小

  • 函数:resize(src, dsize, dst, fx, fy, interpolation)
  • 该函数有两种功能,功能一为图像重新定义为指定的大小,功能二为将图像进行缩放;这两个功能参数设置方法不同
  • 功能一参数:第一个参数src表示原图像;第二个参数dsize表示要变成的图像大小;第三个参数dst默认值为None;第四个参数fx默认值为None;第五个参数fy默认值为None;第六个参数interpolation默认值为None
  • 功能二参数:第一个参数src表示原图像;第二个参数dsize设置为(0,0);第三个参数dst默认为None;第四个参数fx表示横向缩放倍数;第五个参数fy表示纵向缩放倍数;第六个参数interpolation默认值为None

代码

import cv2

img_01 = cv2.imread("doraemon_01.jpeg")

img_02 = cv2.imread("doraemon_02.jpg")

img_01 = cv2.resize(img_01, (200,300))

img_02 = cv2.resize(img_02, (200,300))

# 对图像进行缩放

# img = cv2.resize(img_01, (0,0), fx=1, fy=2)

img_gray = cv2.cvtColor(img_01, cv2.COLOR_RGB2GRAY)

img = cv2.addWeighted(img_01, 0.2, img_02, 0.8, 0)

cv2.imshow("ss", img)

cv2.waitKey(0)

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接