imread

OpenCV Mat 图像处理基本操作

淺唱寂寞╮ 提交于 2020-03-06 15:56:19
1、图片加载、灰度图、 显示和保存 cv::Mat img = cv::imread("01.jpg"); cv::Mat imageGray; cv::cvtColor(image, imageGray, CV_RGB2GRAY);//灰度转换 cv::waitKey(); cv::imwrite("save.jpg", img); 2、图片宽、高、通道模式、平均值获取 cv::Mat img = cv::imread("01.jpg"); int width = img.cols; int height = img.rows; int channel_model = img.channels(); cv::Scalar tempVal = cv::mean(img);// CvScalar就是一个可以用来存放4个double数值的数组; //一般用来存放像素值,最多可以存放4个通道的。 //存储RGB模式彩图时,采用的通道顺序是BGR. float mean_B = tempVal.val[0]; float mean_G = tempVal.val[1]; float mean_R = tempVal.val[2]; 3、创建指定大小,指定通道类型的空图像 cv::Mat img = cv::imread("01.jpg"); cv::Mat img_new1(300,

图片相似度度量方法

不羁岁月 提交于 2020-03-04 19:31:18
度量方法参考资料地址 参考资料里面的是python代码,总共有三种方式,下面是参考其中一种写的C++ # include <iostream> # include <vector> # include <opencv2/opencv.hpp> using namespace std ; using namespace cv ; vector < int > dhash ( Mat imgSrc , int w , int h ) { Mat imgResize ; resize ( imgSrc , imgResize , Size ( w , h ) ) ; Mat img ; cvtColor ( imgResize , img , CV_BGR2GRAY ) ; vector < int > hash ; for ( int i = 0 ; i < w ; i ++ ) { for ( int j = 0 ; j < w ; j ++ ) { if ( img . at < uchar > ( i , j ) > img . at < uchar > ( i , j + 1 ) ) { hash . push_back ( 1 ) ; } else { hash . push_back ( 0 ) ; } } } return hash ; } float

OpenCV读一张图片并显示

三世轮回 提交于 2020-03-03 17:28:38
Java 版本: JavaCV 用OpenCV读一张图片并显示。只需将程序运行时的截图回复。如何安装配置创建项目编写OpenCV代码,可参考何东健课件和源代码或其他资源。 package com.gitee.dgw.lesson1; import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.highgui.HighGui; import org.opencv.imgcodecs.Imgcodecs; /** * @program: learn-opencv * @description: 读取图像 * @author: Mr.Dai * @create: 2018-08-07 13:42 **/ public class imread { private final static String path=System.getProperty("user.dir")+"\\catton.jpg"; static{ platformUtils.loadLibraries(); } public static void main(String[] args) { Mat image; //读取一张图片 //image=Imgcodecs.imread(path); //读取一张灰度图片 image

Make white background transparent png matlab

拥有回忆 提交于 2020-03-03 03:07:35
问题 I am trying to remove the white background on my png picture I get from a code I created. This is the picture I get: I want to make the white background transparent, because I have several of those images that I want to combine using imfuse. What I do is this (my picture is called 'A1.png'): A1=imread('A1.png'); D=zeros(size(A1)); D(A1==255) =1; imwrite(A1,'A11.png','alpha',D); However I get an error like this Error using writepng>parseInputs (line 349) The value of 'alpha' is invalid.

Make white background transparent png matlab

岁酱吖の 提交于 2020-03-03 03:05:48
问题 I am trying to remove the white background on my png picture I get from a code I created. This is the picture I get: I want to make the white background transparent, because I have several of those images that I want to combine using imfuse. What I do is this (my picture is called 'A1.png'): A1=imread('A1.png'); D=zeros(size(A1)); D(A1==255) =1; imwrite(A1,'A11.png','alpha',D); However I get an error like this Error using writepng>parseInputs (line 349) The value of 'alpha' is invalid.

opencv-python核心操作

陌路散爱 提交于 2020-02-29 11:21:46
图像的基础操作 加载图像 >> > import numpy as np >> > import cv2 as cv >> > img = cv . imread ( 'messi5.jpg' ) it returns an array of Blue, Green, Red values 获取某点BGR值 >> > px = img [ 100 , 100 ] >> > print ( px ) [ 157 166 200 ] #accessing only blue pixel >> > blue = img [ 100 , 100 , 0 ] >> > print ( blue ) 157 修改像素点的值 >> > img [ 100 , 100 ] = [ 255 , 255 , 255 ] >> > print ( img [ 100 , 100 ] ) [ 255 255 255 ] 更好修改像素的方法 # accessing RED value >> > img . item ( 10 , 10 , 2 ) 59 # modifying RED value >> > img . itemset ( ( 10 , 10 , 2 ) , 100 ) >> > img . item ( 10 , 10 , 2 ) 100 获取图像规格 >> > print ( img .

Python下 初步使用OpenCV (基础用法)

半城伤御伤魂 提交于 2020-02-28 17:43:46
1 使用 OpenCV读写图像 我是在Python3.6和OpenCV进行操作,首先安装Anaconda和Pycharm。在Anaconda中的base环境下安装opencv模块,安装后的结果如下图所示。 然后,在Pycharm IDE下写程序,程序如下: import cv2 #读取图片 img = cv2 . imread ( "lena.tiff" ) #显示图像 cv2 . imshow ( "Demo" , img ) #等待显示 cv2 . waitKey ( 0 ) cv2 . destroyAllWindows ( ) 仅仅把图像读取出来还不够,还要知道OpenCV 模块下,一些函数如何使用,下面将依次介绍。 (1)读取图像 img = cv2.imread(文件名,[,参数]) 其中参数: 参数(1) cv2.IMREAD_UNCHANGED (图像不可变) 参数(2) cv2.IMREAD_GRAYSCALE (灰度图像) 参数(3) cv2.IMREAD_COLOR (读入彩色图像) 参数(4) cv2.COLOR_BGR2RGB (图像通道BGR转成RGB) (2)显示图像 cv2.imshow(窗口名, 图像名) (3)窗口等待 cv2.waitKey(delay) 键盘绑定函数,共一个参数,表示等待毫秒数,将等待特定的几毫秒,看键盘是否有输入

图像处理之opencv图片几何变化操作大全

微笑、不失礼 提交于 2020-02-08 09:30:23
文章目录 1、opencv读取图片 2、opencv保存图片 3、图像质量压缩 3.1、有损压缩——jpg格式 3.2、无损压缩——png格式 4、像素操作 4.1、像素值的读取 4.2、像素值的写入 5、图片缩放 5.1、查看图片宽高 5.2、等比例缩放 5.2.1、直接定义比率 5.2.2、使用cv2.warpAffine()方法映射 5.2、非等比例缩放 5.2.1、最近临域插值 5.2.2、双线性插值 6、图片剪切 7、图片位移 7.1、使用opencv方法位移图片 7.2、使用数组方法位移图片 8、图片镜像 9、仿射变换 9.1、图片旋转 9.2、图片变形 1、opencv读取图片 cv2.imread()方法封装了4个步骤,分别为: 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载 import cv2 # 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载 img = cv2 . imread ( 'image1.jpg' , 1 ) #1表示彩色图片 #图片展示 cv2 . imshow ( 'image' , img ) #释放资源 cv2 . waitKey ( 0 ) cv2 . destroyAllWindows ( ) 2、opencv保存图片 import cv2 # 1、文件的读取 2、封装格式解析 3、数据解码 4、数据加载

Python OpenCV笔记

ⅰ亾dé卋堺 提交于 2020-02-05 23:57:36
Python OpenCV笔记 OpenCV下载 引入库 载入图像 保存图像 获取图像信息 图像尺寸 第一种 第二种 图像大小 图像处理 颜色空间转换 改变图像质量 缩小图像 按照一定比例缩放图片 给图片添加黑边 裁剪图片 将图像转换为HSV OpenCV下载 pip3 install opencv-python 引入库 import cv2 载入图像 普通读取图像 # 载入图像 im即所谓的CVMat img = cv2 . imread ( '0.JPG' ) 读取为灰度图 # 读取单通道 gray_img = cv2 . imread ( '0.JPG' , cv2 . IMREAD_GRAYSCALE ) 保存图像 img = cv2 . imread ( '0.JPG' ) # 保存到本地 cv2 . imwrite ( '0.PNG' , img ) 获取图像信息 图像尺寸 第一种 img = cv2 . imread ( '0.JPG' ) h , w = img . shape [ : 2 ] print ( h , w ) 第二种 img = cv2 . imread ( '0.JPG' ) h = img . shape [ 0 ] w = img . shape [ 1 ] print ( str ( w ) + ":" + str ( h ) ) 图像大小

c++调用opencv实现图片叠加以及添加水印效果

陌路散爱 提交于 2020-02-05 09:41:48
前言 本篇文章参考了以下文章: https://blog.csdn.net/mars_xiaolei/article/details/78791133 https://answers.opencv.org/question/73016/how-to-overlay-an-png-image-with-alpha-channel-to-another-png/ 素材 demo例子起码用到了几个素材,在这里下载: logo_pc.png 005.jpg 转存失败 underlay.png overlay.png 转存失败 test.png 代码 头文件: #ifndef DEMO_IMAGEMIX_H #define DEMO_IMAGEMIX_H #include <iostream> #include "opencv2/opencv.hpp" #include "opencv2/core.hpp" #include "opencv2/highgui.hpp" #include "opencv2/imgcodecs.hpp" #include <opencv2/imgproc.hpp> #include <opencv2/imgproc/types_c.h> #include <vector> using namespace cv; using namespace std;