- 博客(85)
- 资源 (13)
- 收藏
- 关注
原创 C#调用matlab,matlab图形Figure嵌入Winform窗体
C#调用Matlab并嵌入到Winform窗体,先看效果:感谢该博主提供的思路:https://www.cnblogs.com/asxinyu/archive/2013/04/14/3020813.html一、实现原理: 需要用到Windows API来设置窗体,用FindWindow查找图像窗体Figure1的句柄,使用SetParent设置Figure1父窗体为Winform的控件Panel,这样就把figure放进Winform里了,之所以放到panel控件里,而不是...
2022-02-16 14:46:02
1781
1
转载 char[] 操作
char[] 操作char[] 操作字符串的初始化方法1、char str[10] = { 'H', 'e', 'l', 'l', 'o', '\0' };2、char str[10] = "Hello"; char str[] = "linguoyuan\n";字符串处理在程序中很常见,C库也提供了很多字符串的处理函数,它们有一个共同特点就是都要包
2017-09-06 17:45:30
2648
转载 char*,const char*和string 三者转换
1. const char* 和string 转换(1) const char*转换为 string,直接赋值即可。 EX: const char* tmp = "tsinghua". string s = tmp;(2) string转换为const char*,利用c_str() EX: string s = "tsingh
2017-09-06 16:59:45
467
转载 CString转换成const char*
在Visual Studio 2015下,CString直接转换成const char* 有点困难,下面是自己用的一种可行方案://得到目录路径CString mPath=dlg.GetPathName();//将目录路径转换成绝对路径以便cvLoadImage调用int m=mPath.GetLength();for(int index=0;index
2017-09-05 16:28:49
2414
原创 Hough变换检测圆
原理: 我们要从一副图像中检测出半径以知的圆形来。这个问题比前一个还要直观。我们可以取和图像平面一样的参数平面,以图像上每一个前景点为圆心,以已知的半径在参数平面上画圆,并把结果进行累加。最后找出参数平面上的峰值点,这个位置就对应了图像上的圆心。在这个问题里,图像平面上的每一点对应到参数平面上的一个圆。 把上面的问题改一下,假如我们不知道半径的值,而要找出图像
2016-09-29 11:50:26
7622
原创 Hough检测直线原理及c++代码
(I)直线篇1 直线是如何表示的?对于平面中的一条直线,在笛卡尔坐标系中,常见的有点斜式,两点式两种表示方法。然而在hough变换中,考虑的是另外一种表示方式:使用(r,theta)来表示一条直线。其中r为该直线到原点的距离,theta为该直线的垂线与x轴的夹角。如下图所示。2 如果坐标系中有多个点,又怎样识别出哪些点在一条直线上呢?使用hough变换来检测直线的思想就是:
2016-09-28 16:32:10
14434
翻译 class with pointer
类内带有指针,在将一个类的实例化copy给另一个实例化的对象的时候,指针会指向同一块内存,不是我们想要的。这时最好开辟一块堆内存,需要重写赋值=操作运算符。构造函数也要写,因为当实例化一个对象时,可能会给数据成员赋初值,也可能不赋初值,这时,构造涵是可以合写成一个。另外,赋值时,字面值常量会保存在常量区,指针指向常量区不太安全,最好指向堆区。这时需要开辟堆内存。代码如下:#include "s
2016-09-08 10:21:37
699
翻译 多线程学习之条件变量
#include "stdafx.h"#include #include #include #include #include #include #include #include #include using namespace std;deque q;mutex mu; //互斥对象mucondition_variable cond; //条件变量可以避
2016-06-22 10:46:09
470
翻译 多线程学习之死锁案例
#include "stdafx.h"#include #include #include #include #include #include #include class locfFile{public: locfFile(){ f.open("log.txt"); } void shared_print(std::string id, int value)
2016-06-21 17:53:22
611
翻译 多线程学习之数据竞争与互斥对象
#include "stdafx.h"#include #include #include #include #include #include #include class locfFile{public: locfFile(){ f.open("log.txt"); } void shared_print(std::string id, int value)
2016-06-21 17:11:36
466
转载 c++ 中类重复定义的分析与解决办法
在C++中将类以及类中的成员函数的声明放在.h的头文件中,而将类中成员函数的定义(即实现代码)放在.cpp的源文件中,这样我们的程序设计起来更加的模块化,但是,这样的设计也会带来一些问题,我们分析以下的代码,从中找的问题,并给出问题的解决方法。首先我们在VC下新建一个工程(工程名自己随便命名),然后在此工程下新建两个.h的头文件(文件名分别为Animal.h和 Fish.h),继续新建三个.cpp
2016-05-20 09:13:38
7980
原创 图像拼接
室友做磨粒切削的研究,其中需要用到图像拼接的技术,然后找上了我。虽然不是研究这一块的,但是总不能见死不救。抱着试一试的心态,没想到进展还挺顺的。代码如下:#include "stdafx.h"#include #include #include #include "opencv2/highgui/highgui.hpp"#include "opencv2/stitching.hp
2016-05-19 17:15:23
3329
1
转载 c++ const总结
C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助。Const 是C++中常用的类型修饰符,常类型是指使用类型修饰符const说明的类型,常类型的变量或对象的值是不能被更新的。 一、Const作用 如下表所示:No.作用说明参考代码
2016-05-15 15:24:44
308
转载 支持向量机通俗导论(理解SVM的三层境界)
支持向量机通俗导论(理解SVM的三层境界)作者:July 。致谢:pluskid、白石、JerryLead。说明:本文最初写于2012年6月,而后不断反反复复修改&优化,修改次数达上百次,最后修改于2016年1月。前言 动笔写这个支持向量机(support vector machine)是费了
2016-05-03 20:59:17
905
翻译 Mat类详解(三)
译文参考The OpenCV Reference Manual (Release 2.3)August 17 2011Mat::eye返回一个恒等指定大小和类型矩阵。C++: static MatExpr Mat::eye(int rows, int cols, inttype)C++: static MatExpr Mat::eye(Size size, in
2016-04-19 10:30:52
1166
翻译 Mat类详解(一)
译文参考The OpenCV Reference Manual (Release 2.3)August 17 2011Mat类OpenCV c + + n 维稠密数组类class CV_EXPORTS Mat{public:/ / … …很多的方法....../*!包括几位字段:-神奇的签名-连续性标志-深度(
2016-04-19 10:28:10
5180
翻译 Mat类详解(二)
Mat::~MatMat的析构函数。C++: Mat::~Mat()析构函数调用Mat::release()。Mat::operator =提供矩阵赋值操作。C++: Mat& Mat::operator=(const Mat& m)C++: Mat& Mat::operator=(const MatExpr_Base& expr)C
2016-04-17 20:55:04
2924
转载 IplImage 应用解读
IplImage 结构解读:typedef struct _IplImage { int nSize; /* IplImage大小,等于width*height */ int ID; /* 版本 (=0)*/ int nChannels;
2016-04-08 21:16:13
894
原创 不同深度图像的处理
在处理一些需要图像相加运算的操作时,通常定义 IplImage* dst = cvCreateImage(cvGetSize(img),IPL_DEPTH_64F,img->nChannels); 当处理完成后,需要对原这个IPL_DEPTH_64F深度的图像进行显示的时候,就需要做一些转换。可以用cvScale()这个函数,这个函数主要是对图像做线性变换。如果不转换的话,
2016-04-08 14:54:21
2035
2
转载 OPENCV 函数cvCreateMat
源文地址:http://blog.sina.com.cn/s/blog_4d2f2f010100wzdc.html综述:OpenCV有针对矩阵操作的C语言函数. 许多其他方法提供了更加方便的C++接口,其效率与OpenCV一样.OpenCV将向量作为1维矩阵处理.矩阵按行存储,每行有4字节的校整.分配矩阵空间:CvMat* cvCreateMat(int
2016-04-02 21:47:02
6094
转载 OpenCV通过cvFindContours与cvDrawCountours函数查找轮廓
FindContours 在二值图像中寻找轮廓[cpp] view plain copyint cvFindContours(CvArr* image, CvMemStorage* storage, CvSeq** first_contour,int header_size=sizeof(CvContour), int mode=CV_RETR_LI
2016-04-02 19:31:26
868
转载 相机标定 单目
单目相机标定 标签: 相机标定 单目分类: 图像处理多方参考所得,转载请注明出处http://blog.sina.com.cn/u/1580340211真心是万变不离其宗,最近的问题又跟标定有关系,各种公式又要重新整理,而且现在不仅仅是要用到接口的问题,可能要把公式吃透了才能解决了,所以又要重温各种畸变矫正
2016-03-22 12:19:04
1579
转载 MFC下DLL/lib的调用
MFC下DLL/lib的调用 分类: WINDOWSMFC下DLL/lib的调用 1、简介:dll和.lib都是程序集合,便于代码重用。都是二进制的文件。.dll也叫动态链接库,与程序链接的方式为运行时链接(run-time linked),为PE(portable executable)格式,也就是程完整的程序。.exe、.dl
2016-03-18 21:47:58
553
原创 VS2010/MFC编程入门教程之目录和总结
VS2010/MFC编程入门教程之目录和总结 这套VS2010/MFC编程入门教程到此就全部完成了,虽然有些内容还未涉及到,但帮助大家进行VS2010/MFC的入门学习业已足够。以此教程的知识为基础,学习VS2010/MFC较为深入的内容已非难事。作为本教程的最后一课,鸡啄米将对前面所讲内容进行目录归纳,并对这八个月加班加点的努力进行总结。 一、VS2
2016-03-17 14:31:52
1824
原创 Matlab 图像像素点在RGB空间的显示
在写论文的时候,经常需要将三通道的像素点显示在RGB空间,这段代码基本实现了该功能,但是还有些不完善,鉴于才学Matlab,目前只能做到这一步。代码如下:I=imread('C:\Users\徐图之\Desktop\mywaysb0.7.jpg');figure;imshow(I);title('Sourse');figure;a=I(:,:,1);b=I(:,:,2);c=I(:
2016-03-16 06:54:06
6641
原创 c++中 vs 简单的对txt文件读写
读txt文件 FILE *fp;FILE * fopen(const char * path,const char * mode);第一个参数是路径,第二个参数,mode有下列几种形态字符串:r 以只读方式打开文件,该文件必须存在。r+ 以可读写方式打开文件,该文件必须存在。rb+ 读写打开一个二进制文件,允许读写数据。rw+ 读写打
2016-03-12 10:08:18
13056
转载 获取图像像素点的概率分布图
获取图像像素点的概率分布,不细讲,看代码#include #include #define cvGetHistValue_1D( hist, idx0 ) ((float*)(cvPtr1D( (hist)->bins, (idx0), 0 )) int main(){ int hist_size[] = { 16, 16, 16 }; float range[] = { 0, 2
2015-12-19 19:18:15
8190
原创 图像去雾之何凯明暗通道先验去雾算法原理及c++代码实现
在图像去雾这个领域,几乎没有人不知道《Single Image Haze Removal Using Dark Channel Prior》这篇文章,该文是2009年CVPR最佳论文。作者何凯明博士,2007年清华大学毕业,2011年香港中文大学博士毕业,可谓是功力深厚,感叹于国内一些所谓博士的水平,何这样的博士才可以真正叫做Doctor。 关于何博士的一些资料和论文,大家可以
2015-12-14 11:07:08
55424
22
原创 引导滤波 Guided Image Filtering
本文主要介绍导向滤波,引导滤波在滤波的同时,具有保边缘的特效,考虑了空间因素,可以用在图像去雾算法中对透射率t的优化中,能起到很好的效果 论文如下:Guided Image FilteringKaiming He , Jian Sun , and Xiaoou Tang ,Department of Information Engineering, The Chi
2015-12-09 22:04:32
6331
原创 关于opencv中的imread()函数声明
关于opencv中的imread()函数声明 Mat imread( const string& filename, int flags=1 );它的参数:filename —— 文件的位置。如果只提供文件名,那么文件应该和C++文件在同一目录,否则必须提供图片的全路径。flags —— 有5个可能的输入。
2015-12-07 19:28:33
1535
转载 Boxfilter 块滤波器
其主要功能是:在给定的滑动窗口大小下,对每个窗口内的像素值进行快速相加求和在模式识别领域,Haar特征是大家非常熟悉的一种图像特征了,它可以应用于许多目标检测的算法中。与Haar相似,图像的局部矩形内像素的和、平方和、均值、方差等特征也可以用类似Haar特征的计算方法来计算。这些特征有时会频繁的在某些算法中使用,因此对它的优化势在必行。Boxfilter就是这样一种优化方法,它可以使复
2015-12-06 10:55:48
6497
1
原创 opencv中Mat、CvMat和IplImage的相互转化
opencv中对图像的处理是最基本的操作,一般的图像类型为IplImage类型,但是当我们对图像进行处理的时候,多数都是对像素矩阵进行处理,所以这三个类型之间的转换会对我们的工作带来便利Mat类型较CvMat和IplImage有更强的矩阵运算能力,支持常见的矩阵运算(参照Matlab中的各种矩阵运算),所以将IplImage类型和CvMat类型转换为Mat类型更易于数据处理。Mat类型可用于直接存
2015-12-05 20:07:52
491
转载 导向滤波实现代码以及使用颜色先验去雾算法
论文下载地址:http://research.microsoft.com/en-us/um/people/jiansun/papers/GuidedFilter_ECCV10.pdf本文主要介绍导向滤波,这算法还能去雾,这块主要是重写了导向滤波应用于彩色图像的部分代码,希望与大家共同交流。 论文主要如下:Kaiming He, Jian Sun, Xiaoou Ta
2015-12-05 18:06:40
3760
转载 玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译
玩转OpenCV源代码:生成OpenCV工程解决方案与OpenCV源码编译本系列文章由@浅墨_毛星云 出品,转载请注明出处。 文章链接: http://blog.csdn.net/poem_qianmo/article/details/21974023作者:毛星云(浅墨) 邮箱: h
2015-12-04 20:28:54
639
转载 双边滤波与引导滤波
双边滤波双边滤波很有名,使用广泛,简单的说就是一种同时考虑了像素空间差异与强度差异的滤波器,因此具有保持图像边缘的特性。先看看我们熟悉的高斯滤波器其中W是权重,i和j是像素索引,K是归一化常量。公式中可以看出,权重只和像素之间的空间距离有关系,无论图像的内容是什么,都有相同的滤波效果。再来看看双边滤波器,它只是在原有高斯函数的基础上加了一项,如下
2015-12-03 16:33:47
1374
原创 周围像素点的最大均方差替代该点
在去雾算法中,受雾的影响,每个像素点的RGB值会趋于相等,基于这个事实,我计算每个点所在子块3*3的区域的,每个像素RGB值得均方差,用最大值替代该值,得到的效果图很差,代码如下,仅供自己学习反思:void Ctry::OnTryTyr1(){ IplImage* img = cvLoadImage("C:\\Users\\Administrator\\Desktop\\pic1.jpg",
2015-11-25 17:18:23
1158
原创 去雾算法
算法: 1,选取无雾天空中一点,得到像素值A1(196,227,255)(蓝天的颜色)。选取有雾天空中的一点,得到像素值A2(168,173,179),f2(x,y)=f1(x,y)*A1/A2; f1:有雾的图;f2初步处理得到的新图。 2,直方图均衡,得到新图f3. 3,判断:当f3(x,y)f3(x,y)*0.1+f1(x,y)*0.9;els
2015-11-09 21:37:27
1999
原创 字符紧缩对齐
经过归一化处理的字符在图像图像中排列没有规律,这给后续的字符样本提取增加了工作量。因此,这里还要对字符进行缩紧和对齐。 代码如下:/****************************************************************功能: 对目标(如字符)进行缩紧和对齐,归一化之后使用参数: img:输入图像
2015-11-08 19:12:28
1037
2
原创 字符归一化
扫描图像中的数字字符可能大小不一,而后续ANN的训练和识别都需要同一尺寸的字符对象,因此有必要对字符进行归一化处理,使其具有相同的尺寸。代码如下:/****************************************************************功能: 字符归一化参数: img:有待归一化的图像 dst:归一化后目标图像
2015-11-08 10:47:21
9382
1
原创 字符分割(二)
ANN在训练和识别时都只能将一个单独的数字作为样本,因此对于扫描图像中的多个连续数字需要进行分割。具体算法如下: 1,确定图像中字符的大致高度范围:先自下而上对图像进行逐行扫描,直到遇到第一个黑素像素,记下行号,然后自上而下对图像进行逐行扫描,直到遇到第一个黑素像素,记下行号。这两个行号就标志出了字符大致的高度范围。 2,确定每个字符的左起始和右终止位置:在第
2015-11-07 15:56:23
3751
1
C#调用matlab,matlab图形Figure嵌入Winform窗体
2022-02-16
图像边缘检测7种算子代码
2015-08-28
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人