Opencv
文章平均质量分 65
沧浪之水清兮
这个作者很懒,什么都没留下…
展开
-
滤波算法(3)
保护带均值void cmean(Mat src, Mat dst, int innerbox_size, int outerbox_size) //innerbox_size, outerbox_size均为奇数{ if ((innerbox_size >= outerbox_size) && (innerbox_size % 2 != outerbox_size % 2)) { r原创 2017-07-13 10:32:34 · 251 阅读 · 0 评论 -
标记样本
//#include #include #include #includeusing namespace std;using namespace cv;bool g_bDrawingBox = false;Rect g_rectangle = Rect(-1,-1,0,0);//画图窗口Mat SrcImage;vector each_Img_Recs;void on_M原创 2017-12-29 11:30:28 · 1949 阅读 · 0 评论 -
VS2013动态库文件的创建及其使用详解
https://www.cnblogs.com/codingmengmeng/p/6287425.html翻译 2018-04-03 11:03:53 · 258 阅读 · 0 评论 -
Opencv属性页配置,Realease和Debug通用(64和32)
<?xml version="1.0" encoding="utf-8"?><Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <ImportGroup Label="PropertySheets" /&原创 2018-05-10 11:52:34 · 1098 阅读 · 0 评论 -
Unger滤波器剔除小的噪点
P:为当前点//ThresholdImg为阈值分割后的图片Mat UngerFilter(const Mat& ThresholdImg){ Mat resuktImg = Mat::zeros(ThresholdImg.size(),CV_8UC1); for (size_t i = 1; i < ThresholdImg.rows - 1; i++) { for ...原创 2018-05-11 16:34:10 · 562 阅读 · 0 评论 -
基于奇异值分解(SVD)的背景抑制 --Opencv实现
int main(){ const char* infile = "F:\\文\\%d.jpg"; char inPath[100] = { 0 }; for (int i = 8400; i <= 12000; i++) { sprintf(inPath, infile, i); Mat image = imread(inPath, 0); ...原创 2018-04-27 10:53:30 · 1498 阅读 · 0 评论 -
基于改进的LCM的红外小目标检测算法实现
//改进LCM算法Mat ImproveLCM(const Mat& SrcImg, int ksize){ if (SrcImg.channels() != 1) cvtColor(SrcImg, SrcImg, CV_RGB2GRAY); Mat resultImg = SrcImg.clone(); int delta = ksize + ksize / 2; do...原创 2018-05-13 14:56:44 · 5490 阅读 · 12 评论 -
侧抑制滤波实现
void inhibitionEnhance(const Mat &image_Src, Mat &image_Dst, int innerboxKsize, int outboxKsize){ int inKernelSize = 0; int outKernelSize = 0; if (innerboxKsize / 2 != 0 && outboxK...原创 2018-05-08 14:47:36 · 1388 阅读 · 3 评论 -
各向异性扩散滤波
各向异性扩散滤波主要是用来平滑图像的,克服了高斯模糊的缺陷,各向异性扩散在平滑图像时是保留图像边缘的,和双边滤波很像。通常我们有将图像看作矩阵的,看作图的,看作随机过程的,记得过去还有看作力场的。这次新鲜,将图像看作热量场了。每个像素看作热流,根据当前像素和周围像素的关系,来确定是否要向周围扩散。比如某个邻域像素和当前像素差别较大,则代表这个邻域像素很可能是个边界,那么当前像素就不向这个方向扩散了...翻译 2018-05-23 09:21:18 · 9377 阅读 · 2 评论 -
图像信息熵
double Entropy(Mat img){ // 将输入的矩阵为图像 double temp[256]; // 清零 for(int i=0;i<256;i++) { temp[i] = 0.0; } // 计算每个像素的累积值 for(int m=0;m<img.rows;m++) {// 有效访问行列的方式 const uchar* t = i...原创 2018-05-23 10:36:11 · 5595 阅读 · 0 评论 -
时域累积、计算连通域的中心、查找下一帧图像中在点sp周围R范围中的的对应点
//----------------------------时域累加---------------------------------//Mat blurontime(vector<Mat>source, int threshold,int boxsize){ int rows = source[0].rows; int cols = source[0].cols; Mat ...原创 2018-05-23 10:41:03 · 449 阅读 · 0 评论 -
目标检测与跟踪
目标检测 cvpr iccv eccv最新进展,包含代码目标检测:CVPR2018的目标检测总结一种简单并行的轨迹关联算法及其在小目标检测中的应用多目标跟踪中SORT算法的理解multi-object-tracking-paper-listopencv_moveTestopencv3之目标跟踪(单目标、多目标)基于OpenCV下---多红外目标检测、跟踪、质心坐标提取、...转载 2018-08-22 10:01:04 · 3161 阅读 · 0 评论 -
基于密度聚类DBSCAN
/*DBSCAN Algorithm15S103182Ethan*/#include <iostream>#include <sstream>#include <fstream>#include <vector>#include <ctime>#include <cstdlib>#include <...转载 2018-10-22 10:11:10 · 222 阅读 · 0 评论 -
导向滤波+图像去雾
Guided Image Filtering --引导图像滤波 解析+图像去雾应用图像增强处理之:同态滤波与Retinex算法(一)同态滤波转载 2018-10-22 11:07:12 · 4147 阅读 · 0 评论 -
自适应对比度增强(ACE)算法原理及实现
自适应对比度增强(ACE)算法原理及实现转载 2018-10-22 11:09:57 · 3571 阅读 · 0 评论 -
检测率计算,根据目标真实坐标文本和检测结果坐标文本
#include <iostream>#include <fstream>#include <string>#include <opencv2/opencv.hpp>using namespace cv;using namespace std;//分割字符串void SplitString(const std::str...原创 2018-10-25 09:44:13 · 370 阅读 · 0 评论 -
随机添加高斯模板
/*叠加模板*/int main(){ //----------------in file------------------// char *file("C:\\Desktop\\夜空\\%d.jpg"); char *file2("D:\\gaussianTemplate\\%d.jpg"); char inpath[200] = { 0 };原创 2017-12-29 11:44:25 · 220 阅读 · 0 评论 -
随机生成负样本
//生成负样本int main(){ //----------------in file------------------// char *file("D:\\s3\\%d.bmp"); char inpath[200] = { 0 }; srand((unsigned)time(NULL)); for (int i = 4; i <=4; i原创 2017-12-29 11:41:19 · 1768 阅读 · 0 评论 -
读取16bit图片
int main(){ char* filePath = "D:\\16bit\\1 (%d).bmp"; char pathStr[100]; for (int i = 1; i <= 5000; i++) { cout << i << endl; sprintf_s(pathStr, filePath, i); Mat I16 = imread(pathStr,0);原创 2017-12-29 11:38:25 · 1251 阅读 · 0 评论 -
滤波算法(4)
保护带顶帽滤波#include#include#includeusing namespace std;using namespace cv;外环区域先膨胀void out_ring_dilate(Mat src,Mat dst,int innerbox_size, int outerbox_size){ //cvtColor(src, src, CV_BGR2GRAY);原创 2017-07-13 10:36:17 · 324 阅读 · 0 评论 -
滤波算法(其他博客)
#include "cv.h"#include "math.h"#include "cxcore.h"#include "highgui.h"#includeusing namespace std;//////////////////////////////Arithmetic Mean Filtering/////////////////////////////////////转载 2017-07-14 11:05:10 · 206 阅读 · 0 评论 -
阈值分割
最大类间方差法:Ostuint Otsu(Mat src){ int piexlsum = src.rows*src.cols; cout << piexlsum << endl; //histogram float histogram[256] = { 0 }; /*计算各个灰度级像素的个数*/ for (int i = 0; i < src.rows; i++) { u原创 2017-07-14 11:10:12 · 597 阅读 · 0 评论 -
图片的统一命名
实现图片的统一命名步骤如下:%%%%第一步:将.bat文件放在对应图片格式下面双击即可获得imslist.txt文件 %%%%第二步:运行.cpp文件即可将图片统一按序重命名(注意更改程序里面图片保存的路径)#include #include #include #include using namespace std;using namespace cv;原创 2017-07-14 16:57:10 · 2158 阅读 · 0 评论 -
图像增强(直方图均衡化、拉普拉斯、Log、Gamma)
#include #include #include#include using namespace cv;//OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)void hisitogramEhance(Mat& image);//基于直方图均衡化的图像增强void laplaceEhance(Mat& image);//基于拉普拉斯算子的图像原创 2017-07-14 17:12:03 · 2209 阅读 · 0 评论 -
最近邻插值、双线性插值
最近邻插值:公式如下:/*最近邻插值*//*输入:src:输入源图 dst_rows:目标图的行数 dst_cols:目标图的列数输出:目标图*/Mat Neargest_Neighbor(Mat src,int dst_rows,int dst_cols){ Mat dst(dst_rows, dst_cols, CV_8UC3);//定义目标图像的尺寸类型原创 2017-07-17 17:29:18 · 1311 阅读 · 1 评论 -
遍历像素的十四种方式、颜色空间缩减
空域像素处理帮助很大转载 2017-07-18 09:55:20 · 329 阅读 · 0 评论 -
双边滤波
双边滤波(Bilateral filter)是一种非线性的滤波方法,是结合图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。具有简单、非迭代、局部的特点。双边滤波器的好处是可以做边缘保存(edge preserving),一般过去用的维纳滤波或者高斯滤波去降噪,都会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多原创 2017-07-17 09:19:59 · 1448 阅读 · 0 评论 -
滤波算法(均值、中值、最大均值、最大中值、几何均值)
均值滤波void meanfilter(Mat src, Mat dst, int kernalsize){ int ksize; vector tempdata; tempdata.clear(); if (kernalsize % 2 == 0) { ksize = kernalsize / 2; } else { ksize = (kernalsize - 1)原创 2017-07-13 10:24:42 · 5595 阅读 · 0 评论 -
滤波算法(2)(最大值、最小值、低通、巴特沃斯、Robinson_Guard)
最大值滤波void max_filter(Mat src, Mat dst,int kernalsize){ int ksize; if (kernalsize % 2 == 0) { ksize = kernalsize / 2; } else { ksize = (kernalsize - 1) / 2; } if (kernalsize>src.rows ||原创 2017-07-13 10:28:53 · 3494 阅读 · 0 评论 -
直方图均衡化算法原理与实现
工作后,对原来学习的一些基本图像处理算法有了一些新的认识,比如Canny 算法,直方图均衡化算法等,今天就来说说直方图均衡化算法。直方图均衡化原理我们知道提高图像对比度的变换函数f(x)需要满足一下条件:f(x)在0=x=L−1上单调递增(不要求严格单调递增),其中L表示灰度级(L=256)f(x)的范围是[0,L−1]我们知道当图像直方图完全均匀分布的时候,此时图转载 2017-07-20 20:25:37 · 810 阅读 · 0 评论 -
二维高斯分布随机数
第一种方式:#include#includeusing namespace cv;using namespace std;#define PI 3.1415926double AverageRandom(double min, double max)//生成一个平均分布的随机数{ int minInteger = (int)(min * 10000); int maxInt原创 2017-09-26 08:51:02 · 3829 阅读 · 1 评论 -
深入理解直方图
#include #includeusing namespace std;using namespace cv;//绘制直方图void showHistCallback(Mat img){ vector bgr; split(img, bgr); int numbins = 256; float range[] = { 0, 256 }; const float* hi原创 2017-09-11 19:17:01 · 333 阅读 · 0 评论 -
利用SVM进行图像目标检测和分类
#include #include #include #include #include #includeusing namespace cv;using namespace std;Mat img, image;Mat targetData, backData;bool flag = true;string wdname = "image转载 2017-10-12 14:56:09 · 12441 阅读 · 0 评论 -
贝叶斯分类器
代码如下:#include #include #include #include #include #includeusing namespace cv;using namespace std;int main(int, char**){ int width = 512, height = 512; Mat image = Mat::ze转载 2017-10-12 15:16:20 · 296 阅读 · 0 评论 -
噪声添加(高斯噪声、椒盐噪声)
椒盐噪声产生:#include #include void salt(cv::Mat &image, int n) { int i, j; for (int k = 0; k<n; k++) { // rand() is the MFC random number generator i = rand() % image.cols; j = rand() % imag原创 2017-07-14 17:14:49 · 3264 阅读 · 0 评论 -
PSNR
#include<opencv2/opencv.hpp>#include<iostream>using namespace std;using namespace cv;int main(){ Mat src = imread("1.jpg",0); if (!src.data){ std::cout << "no image inp...原创 2018-10-26 15:21:20 · 997 阅读 · 0 评论