图像处理
文章平均质量分 87
酷小川
研究方向:嵌入式
展开
-
三维重建过程与算法介绍
一、图像预处理 图像预处理的目的在于改善图像的视觉效果,提高图像的清晰度,有选择的突出某些感兴趣的信息,抑制 无用的信息,以提高图像的使用价值。 图像平滑处理:中值滤波、形态学滤波、双边滤波、自适应均值滤波、自适应中值滤波、自适应加权滤波。 有关的改进方法:椒盐噪声过滤算法:GA-BP神经网络噪声检测的自适应滤波算法。原创 2017-08-15 11:35:05 · 22714 阅读 · 8 评论 -
opencv中应用step访问图像像素
#include "stdafx.h"#include "opencv.hpp"using namespace std;using namespace cv;int main(){ Mat grayImage, dstImage; Mat Image = imread("1.png"); imshow("原图", Image); cvtColor(Image, grayIma...原创 2019-03-06 15:36:31 · 1941 阅读 · 1 评论 -
关于论文分两栏的问题
这两天写论文时,投稿的期刊需要将文章分为两栏。在排版时遇到问题,总是和模板有差别。后来发现是“分节符”的问题,有相同问题的人,可以删除“分节符”,即可解决问题。“分节符”的删除在网上搜索步骤即可...原创 2019-04-23 15:28:01 · 8502 阅读 · 0 评论 -
opencv 提取单通道图像轮廓
程序功能:提取单通道图像轮廓#include <opencv.hpp> #include <iostream> #include <vector> using namespace cv;using namespace std;int main(){ Mat SrcImage = imread("1.png"); Mat g...原创 2019-04-29 09:30:04 · 1349 阅读 · 0 评论 -
opencv 提取彩色图像轮廓
本程序功能:提取彩色3通道图像的轮廓#include <opencv.hpp> #include <iostream> #include <vector> using namespace cv;using namespace std;int main(){ Mat dstImage = imread("1.png"); n...原创 2019-04-29 16:50:00 · 4034 阅读 · 0 评论 -
opencv 去除小面积区域
功能:#include "opencv.hpp"#include "iostream"using namespace std;using namespace cv;int main(){ Mat srcImage, grayImage, dstImage,imgHSVMask; int size = 800; //面积因子 //srcImage = im...原创 2019-05-19 14:54:21 · 7125 阅读 · 1 评论 -
opencv 获取最小外接矩形
#include "iostream";#include "opencv.hpp"using namespace std;using namespace cv;int main(){ Mat grayImage, dstImage, resultImage; Mat Image = imread("test.png"); resultImage = Image.clone();...原创 2019-05-19 16:21:31 · 6379 阅读 · 1 评论 -
面积因子与细长度去除障碍物
#include "opencv.hpp"#include "iostream"using namespace std;using namespace cv;int main(){ Mat srcImage, grayImage, dstImage,imgHSVMask,resultImage; Mat img = imread("Road1.png"); resultImag...原创 2019-05-21 20:34:33 · 260 阅读 · 0 评论 -
opencv 创建图片
实验中需要创建一些测试图片来测试,所以下面介绍快速创建图片的方法:#include "opencv.hpp"using namespace std;using namespace cv;int main(){ Mat image(200,150,CV_8UC1); //创建一个高200,宽100的灰度图 for (int i = 0; i < image.rows; i+...原创 2019-01-02 16:02:55 · 6515 阅读 · 0 评论 -
opencv Rect函数裁剪图片
Rect函数参数列表如下:Rect(int _x,int _y,int _width,int _height);int_x和int_y: 代表左上角点的坐标。int_width和int_height:代表需要裁剪区域的尺寸 。#include "opencv.hpp"using namespace std;using namespace cv;int main(){ M...原创 2019-01-02 15:48:18 · 20997 阅读 · 4 评论 -
将动态二维数组数据存入一维数组,并排列
在图像处理中,有时需要将每个像素点对应的一些数据做排序处理,然后进行下一步工作。这时,就需要将每个像素点对应的值存入二维数组,然后将二维数组中的数据存入一维数组,最后做排序处理。 下列程序中:首先创建一个4*4的图像,定义和图像尺寸大小一样二维数组,然后给每个像素点赋值,接着将数据存入一维数组,最后排序。#include <opencv2/opencv....原创 2019-01-10 17:29:53 · 3180 阅读 · 0 评论 -
SIFT算法详解
尺度不变特征变换匹配算法详解Scale Invariant Feature Transform(SIFT)Just For Funzdd zddmail@gmail.com or (zddhub@gmail.com)对于初学者,从David G.Lowe的论文到实现,有许多鸿沟,本文帮你跨越。如果你学习SIFI得目的是为了做检索,也许 OpenSSE 更适合你,欢迎使转载 2017-09-08 14:38:10 · 779 阅读 · 0 评论 -
二维Otsu算法的原理与实现
1.简介: 一维Otsu算法有计算简洁、稳定、自适应强等优点,被广泛用于图像分割中。但一维Otsu算法没有考虑图像像素点之间的关系,当图像中有噪声时,会导致分割的效果不理想。因此,刘健庄等人在1993年提出了二维的Otsu算法,提升了算法的抗噪声能力。2.算法思想: 同时考虑像素的灰度值分布和它们邻域像素的平均灰度值分布,因此形成的阈值是一个二维矢量,最佳的阈值在一个二维的...原创 2017-10-23 18:43:06 · 19129 阅读 · 9 评论 -
ICP算法的原理与实现
一、背景与意义 点云数据能够以较小的存储成本获得物体准确的拓扑结构和几何结构,因而获得越来越广泛的关注。在实际的采集过程中,因为被测物体尺寸过大,物体表面被遮挡或者三维扫描设备的扫描角度等因素,单次的扫描往往得不到物体完整的几何信息。因此,为了获得被测物体的完整几何信息,就需要将不同视角即不同参考坐标下的两组或者多组点云统一到统一坐标系下,进行点云的配准。在配准算法中,研究者使用最...原创 2018-05-11 16:06:06 · 78969 阅读 · 19 评论 -
运行PCL代码出现C2988,C2143,C2913等错误的解决方法
参考网上教程,在vs2017(windows10)上配置PCL后,运行PCL官方示例代码:#include "stdafx.h"#include <iostream> #include <string> #include <pcl/io/ply_io.h> #include <pcl/point_types.h> #include...原创 2018-05-22 11:48:19 · 2988 阅读 · 5 评论 -
opencv 访问彩色图片像素(.at方法)
Mat类提供了一个at的方法用于取得图像上的点,适用于访问具体某个第i行,j列的像素,而不适用遍历像素。下面通过一个程序来说明.at的用法。#include "stdafx.h"#include <cv.h> #include <highgui.h> #include <opencv2/imgproc/imgproc.hpp> ...原创 2018-09-13 10:42:49 · 4066 阅读 · 0 评论 -
opencv 访问彩色图片像素(指针方法)
#include "stdafx.h"#include <cv.h> #include <highgui.h> #include <opencv2/imgproc/imgproc.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> ...原创 2018-09-13 11:01:30 · 3415 阅读 · 0 评论 -
使用vector创建并初始化动态二维数组 C++
图像处理中,有的算法需要获取图像的尺寸,并创建一个二维数组来存储相关的值,因为需要涉及不同的图片,因此二维数组的大小也在不断变化,因此需要创建动态二维数组来解决这个问题。使用vector创建动态二维数组的方法如下:int main(){ Mat Image, grayImage; Image = imread("a.png"); //namedWindow("原图...原创 2018-12-25 15:36:59 · 3644 阅读 · 0 评论 -
C++ 实现soble算子
sobel算子的原理网上可以直接搜到,这里就不详细介绍。sobel算子计算中涉及的变量如下:C++代码如下:#include "iostream"#include "math.h"#include "opencv.hpp"using namespace std;using namespace cv;const double π = 3.14;int main(){ M...原创 2018-12-25 17:04:01 · 1367 阅读 · 1 评论 -
区域紧密度检测 opencv
紧密度=轮廓面积/最小外接矩形面积#include "iostream";#include "opencv.hpp"using namespace std;using namespace cv;//紧密度int main(){ Mat grayImage, dstImage, resultImage; Mat Image = imread("1.png"); res...原创 2019-05-21 20:50:04 · 1232 阅读 · 1 评论