自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(70)
  • 资源 (15)
  • 收藏
  • 关注

原创 螺钉 螺母 硬币三种物体的识别

对于区域增长和链码表的一个应用。其中实现了几个部分:可以在图像中画出外接矩形(通过区域增长找最左,最右,最上,最下这四个点。这个功能注释起来了),通过区域增长可以得到单个区域的面积,实现了对于多个物体进行链码跟踪。之后进行识别就很简单了,但是有一步没有实现。当两个物体粘连时,如何解决?#include<iostream>#include<gdal_priv.h>#include<list>#i

2016-11-21 18:54:24 1657 2

原创 从文件中或控制台每次读取一个单词或一行

从文件中读取: 方法一:#include<iostream> #include<fstream> #include<string> using namespace std; int main() { string word[30]; ifstream read; ofstream display; read.open("zs.txt"); d

2016-11-01 15:06:55 812

原创 插入排序算法和冒泡排序算法

//插入排序算法/* 插入排序算法就是先把最开始的两个数进行排序,然后第三个插入前两个之中,第四个数插入前三个数中,以此类推 例如:1,5,9,6,3,2,8,7,4,0 1,5,9,6,3,2,8,7,4,0 1,5,6,9,3,2,8,7,4,0 1,3,5,6,9,2,8,7,4,0 1,2,3,5

2016-10-23 10:59:08 322

转载 快速排序算法

//快速排序算法:/* 对于一个给定的数组,从中选择一个元素,以该元素为界将其余的元素划分为两个子集, 一个子集的所有元素都小于该元素,另一个元素的所有子集都大于或等于该元素。对这样 两个子集递归执行这一过程,当某个子集中的元素数小于2时,这个子集就不需要再次排序 以数组a[] = {5,9,6,8,7,3,1,4,0,2}为例 5,9,6,8,7,3,1,4,0,2

2016-10-22 17:16:00 258

转载 对话框显示加载的滑动图片

// ShowImg.cpp : 实现文件//#include "stdafx.h"#include "DialogImgShow.h"#include "ShowImg.h"#include "afxdialogex.h"// ShowImg 对话框IMPLEMENT_DYNAMIC(ShowImgDlg, CDialogEx)SCROLLINFO scroll;static int y

2016-10-21 19:48:13 325

原创 三线性插值

效果并不理想,在图像梯度大的地方很容易出现噪声干扰。 运行时间很长,时效性差void Cimage2View::ThreeLinearInterpolation(unsigned char** SourceData, int Width , int Height , int Band , unsigned char** NewData, i

2016-10-19 19:12:30 803

转载 otsu大津法

int Otsu(unsigned char* src,int Height,int Width) { //histogram float histogram[256] = {0}; for(int i=0; i < Height; i++) { unsigned char* p=src + W

2016-10-18 11:03:13 250

转载 squeeze(s1,s2),把字符串s1中与s2字符的相同的部分去掉

两个字符串,s1,s2 squeeze(s1,s2),把s1中与s2字符的相同的部分去掉需要注意的是:char* s1 = “zhangshuo”;与char s1[] = “zhangshuo”;的区别: 第一个是指针,指向一个const char* 类型,不可以通过s1改变指向字符串的值第二个是数组, 可以通过s1改变字符串。代码实现:#include <iostream>usin

2016-10-17 19:50:30 819

转载 strtob 十进制整数n变为任意进制以字符串形式输出

strtob(int n,char* s,int b); 实现十进制整数n变为b进制的数,并以字符串的形式输出(s);具体实现:#include <iostream>using namespace std;void reverse(char s[]) //字符串的反转{ int i ,j; char temp; for(i = 0,j = strlen

2016-10-17 19:43:23 581

转载 找出缺失的整数

题目: 一个无序数组里有99个不重复正整数,范围从1到100,唯独缺少一个整数。如何找出这个缺失的整数?答:很简单也很高效的方法,先算出1+2+3….+100的和,然后依次减去数组里的元素,最后得到的差,就是唯一缺失的整数。题目扩展: 一个无序数组里有若干个正整数,范围从1到100,其中99个整数都出现了偶数次,只有一个整数出现了奇数次(比如1,1,2,2,3,3,4,5,5),如何找到这个出现奇数

2016-10-17 19:36:14 410

原创 在MFC中,不借用其他的库函数读取BMP图像,显示,也可以重新生成

void CReadBMPImageAndShowView::OnOpenimage(){ // TODO: 在此添加命令处理程序代码 CFileDialog log(true,"file",NULL,OFN_HIDEREADONLY, "bmp|*.bmp||",NULL); if(log.DoModal() == IDOK) {

2016-10-11 17:07:49 567

转载 求最大公约数

#include <iostream>using namespace std;//辗转相除法和更相减损术都可以求最大公约数,但是各自都有各自的弊端//更相减损术和移位运算的结合,改法可以达到相对较好效果int gcd(int numberA,int numberB){ if(numberA == numberB) return numberA; if(numb

2016-10-09 22:00:05 262

原创 链码表追踪二值图像的最外层轮廓

#include <iostream>#include <string>#include "gdal_priv.h"using namespace std;/********************************************************* 根据容差判断两像素颜色是否相近* 参数c1、c2为两种颜色信息,delta为容差*****************

2016-10-09 16:53:20 1343

原创 Hough变换检测直线

直线的霍夫变换:霍夫空间极坐标与图像空间的转换公式: p = y * sin(theta) + x * cos(theta);之后遍历图像的每个坐标点,每个坐标点以一度为增量,求取对应的p值,存入数组中,查找数组中数目大于一定阈值的p和theta,再在图像空间中把 直线 恢复出来霍夫变换就是把图像左边空间上的线段转换到霍夫空间一个点,然后通过点的数目多少来确定是否为一条线段(但是画出的结果为一条

2016-10-08 21:55:26 858 3

原创 图像的膨胀与腐蚀实现

#include <iostream>#include <string>#include "gdal_priv.h"using namespace std;//图像的膨胀//算法的实现依然有重复的地方,会造成空间和时间上的浪费,但是效果还可以,暂定如此,如有好的算法再进行改进void Expand(unsigned char* date,unsigned char* ExpandImage

2016-10-08 11:36:02 684

转载 二值图像查找边界,并对边界进行搜索,剔除小边界

通过二值图像查找边界代码://pImgData为输入的二值图像void TrackBoundary(unsigned char *pImgData, int nImgWidth, int nImgHeight){ //存储外边界 unsigned char *pBoudary = new unsigned char[nImgWidth * nImgHeight]; mem

2016-10-08 09:17:22 2464

转载 链码表到线段表的转换

不一定会用得到,先放在这里,供以后查阅 本段摘抄自左飞的数字图像处理原理与实践/********************************************************** * 链码表到线段表的转换* 参数:track为链码表,trackDot为线段表**********************************************************/

2016-10-08 08:54:12 387

原创 单波段二值图像区域增长

主要就是用到了两个容器,一个vector,一个list。其中vector用来存贮查找到的所有类型相同的区域,list用于暂时保存找到的类型相同的点,然后以找到的点为新的中心,查找该点的八方向,用来循环查找新的类型相同的点代码如下:#include<iostream>#include<gdal_priv.h>#include<list>#include<vector>using namespa

2016-10-07 10:49:33 498

原创 二叉树

0.创建二叉树//创建二叉树int CteateBiTree(TreeNode** T){ int ch; scanf("%d", &amp;ch); if (ch == -1) { *T = NULL; return 0; } else { *T = new TreeNode(-1...

2016-10-06 15:48:58 344

转载 C语言中两种方式表示时间日期值time_t和struct tm类型的相互转换

使用gmtime函数或localtime函数将time_t类型的时间日期转换为struct tm类型: 使用time函数返回的是一个long值,该值对用户的意义不大,一般不能根据其值确定具体的年、月、日等数据。gmtime函数可以方便的对time_t类型数据进行转换,将其转换为tm结构的数据方便数据阅读。gmtime函数的原型如下: struct tm gmtime(time_t * timep

2016-09-24 09:14:53 2286

转载 图像处理中的一阶偏导数和二阶偏导数

一阶差分:二阶偏导数的推导和近似:上式以点(i+1,j)为中心,用i代换i+1可得以(i,j)为中心的二阶偏导数则有:同理:进而可推导:这样我们就可以很好的运用其他的一阶偏导的定义,如SIFT特征OpenCV实现版本中的一阶以及二阶偏导:[cpp] view plain copy /* Computes the partial derivatives in x, y, and sc

2016-09-23 20:35:17 1169

转载 数字图像处理中的高通滤波和低通滤波

高通滤波:边缘提取与增强低通滤波:边缘平滑边缘区域的灰度变换加大,也就是频率较高。所以,对于高通滤波,边缘部分将被保留,非边缘部分将被过滤;对于低通滤波,边缘区域将被平滑过渡。

2016-09-19 14:24:11 24646

原创 双缓冲刷新视图

方法一:在OnDraw函数中修改void Cimage2View::OnDraw(CDC* pDC) { Cimage2Doc* pDoc = GetDocument(); ASSERT_VALID(pDoc); if (!pDoc) return;// TODO: 在此处为本机数据添加绘制代码CRect rectC

2016-09-08 09:33:28 432

转载 命令提示符直接编译文件

DE(集成开发环境)确实提高了软件的开发效率,但是要想成为一名非常专业的程序员,不懂手动编译程序是不太合适的。 羡慕人家只需要通过记事本就能编写程序吗?我们知道,一般的C程序开发需要经过三个步骤:源代码编辑——编译生成.obj文件——链接生成.exe文件首先,我们使用记事本写一个helloworld经典程序[plain] view

2016-08-01 16:52:34 554

原创 list::remove_if()

includeincludeusing namespace std;// a predicate implemented as a function: bool single_digit (const int& value) { return (value<10); }// a predicate implemented as a class: class is_odd { public:

2016-08-01 14:51:24 300

原创 C#中对于文件和目录的区别

string path = @”C:\Program Files\Microsoft.NET”; if (File.Exists(path)) { Console.WriteLine(“这是一个文件”); } else if (Directory.Exists(path)) { Console.WriteLine(“这是一个文文件夹”); } else {

2016-07-26 16:50:10 395

原创 MFC中调用exe文件

UINT callbackValue; callbackValue=WinExec("\"exe/被调用exe.exe\" 2 3",SW_SHOW); //就这一个语句,就可以完成调用!!! //”\”exe/被调用exe.

2016-07-14 13:58:25 1753

转载 欢迎使用CSDN-markdown编辑器

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2016-07-14 13:52:22 234

转载 MFC获取当前时间

"http://img.my.csdn.net/uploads/201212/21/1356057266_3230.jpg" alt="">  框1,框2,框3:Static Text控件,修改ID    m_strDate:关联框1,CString数据类型(Value类别)  m_strTime:关联框2,CString数据类型(Value类别)  m_strDateTime

2016-07-13 16:23:43 376

转载 VC++2010工程中加入SplashScreen

由于笔者在实践过程中走了一些弯路,所以把这些情况记录下来,希望为后来者提供一些经验。在VC6.0时代,可以通过组件为工程加入SplashScreen,具体方法是通过IDE中的菜单Project->Add to Project->Components and Controls,就可以从Visual C++ Components中选择Splash Screen这个组件插入工程。但进入到VC.

2016-03-03 16:04:51 347 1

MATLAB R2014a Patch

MATLAB R2014a Patch

2017-05-08

KCF目标跟踪C++代码

KCF目标跟踪C++代码

2017-04-05

KCF目标跟踪

KCF目标跟踪

2017-03-31

TLD跟踪算法c++代码

TLD跟踪算法c++代码

2017-03-31

TLD跟踪算法matlab代码

TLD跟踪算法matlab代码

2017-03-31

核相关滤波器源码及论文

2017-03-31

KCF源码及论文

2017-03-29

摄像机标定与三维重建

文件包含分别使用opencv和MATLAB进行标定的程序,还有进行三维重建的程序。具体见http://blog.csdn.net/zszszs1994/article/details/60148168

2017-03-03

先序 中序 后序遍历二叉树代码

按要求输入二叉树,然后执行可输出先序 中序 后序遍历二叉树的结果。

2017-02-14

可使电脑重新启动

双击运行即可使电脑重新启动,鸡肋

2016-11-27

双边滤波c++代码实现

双边滤波的cpp文件,直接输入图像的原始数据,然后就可以得到滤波后的图像数据

2016-11-07

双边滤波C++实现

双边滤波 纯C++实现,支持8位灰度图像和24位真彩图像

2016-11-02

分水岭分割算法c++代码实现

分割算法纯用c++来实现,可通过阈值调节分割的程度

2016-10-22

CxImage头文件与依赖库

CxImage头文件与依赖库

2016-08-05

GDAL头文件与依赖库

GDAL头文件与依赖库

2016-08-05

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除