随笔分类 - OpenCV
摘要:我们仍然如前例一样,构建一个类来处理得到直方图。我们来看看基本的类定义#ifndef HISTOGRAM_H_#define HISTOGRAM_H_#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>#include <vector>class Histogram {private: int histSize[1]; float hr
阅读全文
摘要:在这个例子中,我们开始选定一种颜色,并设置一个阈值然后把图片中和所选颜色的差别在阈值中的点标定出来在这个例子中,主要要注意这两点:1. OpenCV与QT的结合,包括Mat 与 QImage 的转换2. 我们使用了类来实现此功能,创建了一个单例模式的类首先我们创建一个简单的图形界面,使用的是QT创建处理图像用的类#ifndef COLORDETECTOR_H_#define COLORDETECTOR_H_#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <
阅读全文
摘要:内容来自《OpenCV 2 Computer Vision Application Programming Cookbook》OpenCV2 访问图像的各个像素有各种方法我们来用各种方法来实现减少图像的颜色数量color = color/div*div +div/2;若div为8,则原来RGB每个通道的256种颜色减少为32种。若div为64,则原来RGB每个通道的256种颜色减少为4种,此时三通道所有能表示的颜色有4×4×4 = 64 种首先,我们来看一个函数C++: uchar* Mat::ptr(int i=0)i 是行号,返回的是该行数据的指针。在OpenCV中,一
阅读全文
摘要:C++: void Mat::copyTo(OutputArray m) constC++: void Mat::copyTo(OutputArray m, InputArray mask) const这个函数可以复制图像到另一个图像或矩阵上,可选参数是掩码由于叠加的图像大小不一定相等,比如我们这里把一张小照片加到一张大照片上我们可以在大照片上设置一个和小照片一样大的感兴趣区域不使用掩码的时候,我们载入一张png,和一张jpg#include <opencv2/highgui/highgui.hpp>#include <opencv2/core/core.hpp>int
阅读全文
摘要:椒盐噪声是由图像传感器,传输信道,解码处理等产生的黑白相间的亮暗点噪声。椒盐噪声往往由图像切割引起。我们用程序来模拟椒盐噪声,随机选取一些像素,把这些像素设为白色。#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <cstdlib>void salt(cv::Mat&, int n=3000);int main(){ cv::Mat image = cv::imread("E:/Image/Lena.jpg"); salt(
阅读全文
摘要:OpenCV的接口包括C++,C,Python的我用MinGW编译OpenCV2.1 和 OpenCV2.2 从未成功过前几日发现 OpenCV 2.3发布,下载了自解压程序,解压后又visual studio 2008,2010和MinGW版的但其中的MinGW版的是官方 MinGW的,我使用的是在 http://nuwen.net/mingw.html 下载的编译程序连接时总出错,于是下载了源码包,编译后能正常使用先来看看最简单的图像的载入与显示,使用C++接口#include <opencv2/core/core.hpp>#include <opencv2/highgu
阅读全文
摘要:何为LUT,就是指显示查找表(Look-Up-Table),LUT(Look-Up Table)实际上就是一张像素灰度值的映射表,它将实际采样到的像素灰度值经过一定的变换如阈值、反转、二值化、对比度调整、线性变换等,变成了另外一个与之对应的灰度值,这样可以起到突出图像的有用信息,增强图像的光对比度的作用。我在以前写的python灰度变换就是和这个是一个意思我们来看看实际运用效果:#include <cv.h>#include <highgui.h>using namespace std;int main(int argc, char** argv) { IplImage
阅读全文
摘要:cvAbsDiffCalculates absolute difference between two arrays.void cvAbsDiff(const CvArr* src1, const CvArr* src2, CvArr* dst);src1 The first source arraysrc2 The second source arraydst The destination arrayThe function calculates absolute difference between two arrays.dst(i)c = |src1(I)c − src2(I)c |Al
阅读全文