图像处理/传统方法
文章平均质量分 57
图像处理/传统方法
超级无敌陈大佬的跟班
站在巨人的肩膀上看星星.
不辜负每个朝阳,不荒废每个深夜,因平凡而奋斗,因奋斗而不平凡
展开
-
PIL包中图像的mode参数
PIL包中图像的mode参数 本文为了说明PIL库中图像的mode参数不同值的区别。 我做的事情是:在本地找了jpg的图,convert为不同mode,将不同的图截取做了个脑图,有个直观的感觉。 把不同mode的图通过np.array()转化为array, 打印出array的shape, 和array[0, 0]的值, 便于理解不同mode的通道和像素值的存储。1.不同model模式的图2.打印不同模式图片的shape和[0,0]的像素值# 将不同模式的图片打印出shap.转载 2021-11-17 14:32:08 · 2118 阅读 · 0 评论 -
Opencv读取视频或调用摄像头
一、Opencv读取视频注意:需要用到这两个库,使用时记得添加-lopencv_video -lopencv_videoio#include<opencv2/opencv.hpp>#include<iostream>using namespace cv;using namespace std;void main(){ VideoCapture cap; cap.open("./face.mp4"); if(!cap.isOpened(.原创 2021-04-28 15:29:29 · 701 阅读 · 0 评论 -
opencv中Assert()函数
CV_Assert( src.depth() == CV_8U ); //ASSERT()是一个调试程序时经常使用的宏,//在程序运行时它计算括号内的表达式,如果表达式为FALSE (或0), 程序将报告错误,并终止执行。//如果表达式不为0,则继续执行后面的语句。原创 2018-01-29 11:09:55 · 1204 阅读 · 0 评论 -
opencv源码中getMat()函数
OutputArray _kx;Mat kx = _kx.getMat();OutputArray是opencv源码中常用到的类型,类型大概是用来表示为Mat和vector而getMat()函数即是将OutputArray数据转换成Mat类型。原创 2018-01-29 16:49:54 · 9215 阅读 · 1 评论 -
图像变换 - 卷积(cvFilter2D)
最常见的图像变换(image transform,即将一幅图像转变成图像数据)就是傅里叶变换(Fourier transform),即将图像转换成源图像数据的另一种表示,而卷积是大多数变换的基础。我们可以用方程来表示这个过程。我们首先定义图像为I(x,y),核为G(x,y),参考点位于相应核的(ai,aj)坐标上,则卷积H(x,y)定义如下:边缘部分使用转载 2018-01-29 22:53:46 · 339 阅读 · 0 评论 -
图像处理中滤波(filtering)与卷积(convolution)的区别
图像处理中滤波和卷积是常用到的操作。很多人认为卷积就是滤波,两者并无区别,其实不然。两者在原理上相似,但是在实现的细节上存在一些区别。这篇博文主要叙述这两者之间的区别。1、滤波简单来说,滤波操作就是图像对应像素与掩膜(mask)的乘积之和。比如有一张图片和一个掩膜,如下图:那么像素(i,j)的滤波后结果可以根据以下公式计算:转载 2018-01-30 16:33:06 · 421 阅读 · 0 评论 -
【HOG特征】Opencv中HOGDescriptor()函数参数图解
CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8), cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1), histogramNormType(HOGDescriptor::L2Hys), L2HysThres...原创 2018-12-19 16:37:08 · 5882 阅读 · 0 评论 -
【HOG特征】HOG:从理论到OpenCV实践
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhazhiqiang2010/article/details/21047207 &amp;amp;lt;/div&amp;amp;gt; &amp;amp;lt;link rel=&amp;quot;stylesheet&amp;quot; hr转载 2018-12-19 10:44:46 · 406 阅读 · 0 评论 -
opencv图像旋转90°的方式
#include "opencv/cv.h" #include "opencv/highgui.h" #include "stdio.h" #include "iostream" using namespace cv; using namespace std; int main() { Mat src = imread("test.jpg");原创 2017-10-01 11:28:44 · 11076 阅读 · 0 评论 -
opencv对二值图像进行颜色反色操作
即将二值图像白色部分变为黑色,黑色部分变为白色。bitwise_not(singleROI,singleROI);//颜色反转输入和输出都为二值图像原创 2017-09-08 00:02:13 · 40144 阅读 · 2 评论 -
Opencv旋转图像
#include "stdafx.h" #include "opencv2\core\core.hpp" #include "opencv2\highgui\highgui.hpp" int main( ) { cv::Mat image; // create image cv::Mat result;转载 2017-07-20 14:06:35 · 459 阅读 · 0 评论 -
Imwrite函数如何无损保存图片。
使用imwrite默认参数保存图片时,发现一张1.0M的图片,使用imwrite保存时内存只有400k。查阅资料发现,imwrite函数参数三是保存相关设置:此处仅写了JPEG下面的格式保存设置,另外三种格式请参考OPENCV书本上写的。vectorcompression_params;compression_params.push_back(CV_IMWRITE_JP原创 2017-07-20 10:15:59 · 4117 阅读 · 3 评论 -
防止图像Rect区域越界的方法
我们在对图像进行处理时,经常需要抽取图像中的某一区域进行处理,如果抽取的区域越界时,往往就会导致图像崩溃,下面是我在参考同行者代码时看到的一个小技巧Rect rect; rect.x = 0; rect.y = 0; rect.height = 0; rect.width = 0; rect &= Rect(0,0, image.cols, image原创 2017-07-18 11:02:23 · 1497 阅读 · 0 评论 -
SVM支持向量机简介3.0技术文档
官方源代码:#include #include #include "opencv2/imgcodecs.hpp"#include #include using namespace cv;using namespace cv::ml;int main(int, char**){ // Data for visual representation int w翻译 2017-06-09 17:17:25 · 277 阅读 · 0 评论 -
OpenCv学习笔记(二)—cv::Mat学习
由于在写上一篇图像的数据结构时,发现自己只知道CvMat,竟然还有Mat数据结构,真是无知了,看了这么多程序,貌似没有看到这个结构。有可能那些程序都是些老版本的例子,这是在2.0以后加上的,所以我也得紧跟呀!以下是自己的学习心得。。。。一、Mat简介 在2001年刚刚出现的时候,OpenCV基于 C 语言接口而建。为了在内存(memory)中存放图像,当时采用名为 IplImag转载 2017-02-22 17:42:49 · 916 阅读 · 0 评论 -
opencv中最高效的访问图像像素
void colorReduce(cv::Mat &image){ int nl = image.rows; // 行数 int nc = image.cols * image.channels();//列数,当为多通道时:像素点*通道数 if (image.isContinuous())//判断图像是否是连续的 { nc = nc*nl; nl = 1; } for (in原创 2017-07-25 11:14:25 · 378 阅读 · 0 评论 -
函数cvRound,cvFloor,cvCeil用法
函数cvRound,cvFloor,cvCeil 都是用采用一种舍入的方法将输入浮点数转换成整数:cvRound :返回跟参数最接近的整数值;cvFloor: 返回不大于参数的最大整数值;cvCeil :返回不小于参数的最小整数值。用法:int idelta =cvCeil(delta);原创 2017-08-17 17:02:04 · 1001 阅读 · 0 评论 -
Mat与IplImage互相转换
Mat 是OpenCV和C++的接口矩阵类,ImlImage是opencv和C语言的接口的结构体。下面介绍的Mat和IplImage相互转换方法://1: IplImage—>Mat //1.1:浅拷贝: IplImage* pBinary = cvLoadImage("1.jpg", 0);Mat Img;Img = cvarrToMat(pBinary);//原创 2017-07-29 10:49:17 · 935 阅读 · 0 评论 -
OPENCV 遍历文件夹中的图片方法
原理:1.先获取文件夹中图片的名称。 2.再通过图片地址和名称读取图片。#include <iostream> using namespace std; #include <opencv2\opencv.hpp> #include <opencv2\highgui\highgui.hpp> #include <ope...原创 2017-07-20 11:58:25 · 2522 阅读 · 1 评论