自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 资源 (2)
  • 收藏
  • 关注

翻译 双边滤波器

参考该文献:双边滤波器Introduction  滤波可能是图像处理和计算机视觉中最基本的操作。从广义上来讲,在滤波后的图像中,给定位置的像素的值是输入图像中相同位置的邻域的像素值的函数。例如高斯低通滤波器计算邻域中像素值的加权平均值。该滤波器的权重值,随着像素与邻域中心的距离的增大而变小。虽然可以给出权重随距离下降的正式的和定量的解释,但从人的知觉上图像在空间平面上是缓慢地变化的,因...

2018-04-07 21:43:05 972

原创 寻找矩形块

clc;close all;clearvars;img = imread('D:\Program Files (x86)\Tencent\QQ_data\491415198\FileRecv\sampleImage.bmp');figure,imshow(img)[count,bin] = imhist(img,256);figure,stem(bin, count,'marker',...

2018-10-01 11:05:46 298

原创 基于SSIM (结构相似性)的图像比较

参考本文代码function [mssim, ssim_map,siga_sq,sigb_sq] = ssim2(ima, imb) % ======================================================================== %ssim的算法主要参考如下论文: %Z. Wang, A. C. Bovik, H. R. She...

2018-09-10 21:03:55 2209

原创 图像下采样

clc;clearvars;close all;img = imread('D:/picture/lena.jpg');img = rgb2gray(img);[M N] = size(img);% automatic downsamplingf = max(1,round(min(M,N)/256));lpf = ones(f,f);lpf = (1./(f*f))*lpf;...

2018-09-09 10:48:50 1753

原创 检测直线

原始图 clc;clearvars;close all;I = imread('C:\Users\xiaosa\Desktop\IMG_0638.JPG');I = I(:,:,1);rotI = I;thresh = graythresh(rotI);bwTemp = im2bw(rotI, thresh);[H,T,R] = hough(bwTemp);imshow(...

2018-08-03 23:58:50 216

原创 螺旋线的画法---matlab代码

clearvars;close all;clc;%每个圆的周长是一样的t = 0:0.01:4*pi;x = cos(t);y = sin(t);z = t*2;figure;plot3(x,y,z,'r-');hold on;plot3(x,-y,z,'b')title('螺旋线');xlabel('x axis');ylabel('y axis');zlabel(...

2018-08-01 21:17:17 32012

原创 .基于局部均方差增强Matlab代码实现

引用 原理参考该博客%.基于局部均方差增强图像% blockMean 3*3邻域的均值% blockVar 3*3邻域的方差% PixelVal 3*3邻域中心像素点的灰度值% GlobalVar 整个图像的方差% blockMean + GlobalVar/blockVar*(PixelVal - blockMean)clc;clearvars;close all;img...

2018-07-13 08:07:52 4315 5

原创 matlab与opencv读入图片的不同之处

分析了matlab与opencv分别读入jpg图片与bmp图片的不同之处。

2018-05-10 16:27:10 2019

原创 使用opencv对图像进行负片处理

参考文章对图像进行“负片处理”#include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include<iostream>using namespace cv;void LutFunc(Mat &I);void AtFunc(Mat &I);void Pt...

2018-04-06 21:36:55 2555

原创 调整图像- 自动对比度、自动色阶算法

参考本文算法 使用Matlab实现。clc;close all;clearvars;%调整图像---自动色阶算法img = imread('D:/picture/lena.jpg');[row,col,~] = size(img);PixelAmount = row * col;HighCut = 0.01;LowCut = 0.01;rimg = img(:,:,1);gim...

2018-04-06 14:24:36 1704 4

原创 使用Matlab生成中心对称图形

img = zeros(256,256,'uint8');for ii = 1:256 img(:,ii)= ii-1;endimwrite(img,'gray-level256.bmp');imwrite(img,'gray-level256.png');imwrite(img,'gray-level256.jpg','Quality',0);img_bmp = imrea...

2018-04-03 13:00:07 2403

原创 计算循环的次数

#include#include#include#includeusing namespace std;int main(){ srand(time(0)); while(1) { int start = rand()%10;// the start of the loop (included) int end = rand()%10 + 100;//the end of

2017-07-15 11:03:31 3651

原创 位操作

#includeusing namespace std;#define BIG_LITTLE_SWAP_16(n) ((((unsigned short)(n) & 0xFF00) >> 8) | (((unsigned short)(n) & 0x00FF) << 8))#define BIG_LITTLE_SWAP_32(n) ((((unsigned int)(n) & 0xFFFF0

2016-09-05 22:46:57 445

原创 鉴别图像中含有给定颜色的所有像素

#includeusing namespace cv;class ColorDetector{private: //最小可接受的距离 int minDist; //目标颜色 cv::Vec3b target; //结果图像 cv::Mat result; int getDistance(cv::Vec3b color) {

2016-06-07 23:58:07 1042

原创 字符串移位

void*pszStringRotate(char*pszString, intnCharsRotate)比如ABCDEFG,移3位变DEFGABC,要求空间复杂度O(1),时间复杂度O(n)。过程如下:ABCDEFG第一步:局部翻转ABC DEFG == = 》 CBA GFED第二步:整体翻转CBA GFED

2015-10-09 09:45:16 512

原创 递归法和循环法判断数组是否递增

#includeusing namespace std;#include bool Judgment(int a[], int num){ static int i = 0; bool flag = true; for(i=0; i<num-1; i++) { if (a[i]>=a[i+1]) //假如发现哪两个不是递增,立刻跳出; { flag = f

2015-10-06 15:31:01 693

转载 strcpy与memcpy的区别

原文:http://blog.chinaunix.net/uid-23922099-id-3555928.html#includeusing namespace std;char * strcpy(char * strDest, const char * strSrc) // 实现strSrc到strDest的复制{ if ((strDest == NULL) || (strSrc

2015-10-06 14:03:24 495

原创 反转字符串递归与非递归方式

#includeusing namespace std;char *reverse(char *str)//非递归方式{ if(str!=NULL) { int length = strlen(str); for(int i=0;i<length/2;++i) { char temp=str[i];

2015-10-06 13:23:48 439

原创 判断一个正整数是否为2的整数次幂的宏定义

判断一个正整数是否为2的整数次幂的宏定义#include  //取反加1后与原数相与还是等于原来的那个数就说明是2的n次幂#define  S(n) ( ((n & ((~n) + 1))) ==n) int main(){    int i;    while (1)    {        scanf("%

2015-09-19 19:58:44 1718

原创 数组中重复的数字

题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是重复的数字2或者3。参考>一书。1、当该数组是无序时,遍历该数组,将该数组的每一个元素和它后面的元素作比较,若相同则函数返回。该方法的时间复杂度

2015-09-01 14:50:37 697

原创 使用2个队列实现一个栈

队列的特点是先入后出,栈的特点与之相反,是后入先出。可以定义两个队列来实现一个栈的功能,定义队列queue1与queue2。当向该栈中压入元素时:若queue1与queue2都为空时,可以把该元素加入这2个队列的任一个。若queue1不为空,queue2为空时,可以把该元素加入队列queue1中。若queue1为空,queue2不为空时,可以把该元素加入队列queue2中。当从

2015-08-30 20:50:59 451

原创 中兴通讯2015笔试应用题

题目1:请用递归算法计算n的阶乘特殊情况当n小于0时,阶乘是没有意义的。当n=0时,阶乘为1。#include using namespace std;long long jiechengcore(long a){ if(a==1) return 1; else return a*jiechengcore(a-1);}long long jiecheng(lo

2015-08-28 10:35:20 696

原创 什么会在main函数之前执行

1、可以定义一个全局对象,这时会调用该类的构造函数。#include #include using namespace std;class A {public: A() { cout << "A construct 1!" << endl; }};static A a;//定义全局对象int main(int argc, char *argv[])

2015-08-27 22:34:12 1095

转载 C++实现观察者(Observer)模式

观察者(Observer)模式,是常见的模式之一。比如一份报纸,有很多订户。订阅者并不知道报纸何时会送来,他只知道自己订了这份报纸。订阅者在这里担任着观察者的角色,而报社则是被观察者。报纸一旦印刷完毕,就应该及时送到订户手中,如果将报社看作一个对象,则报纸便是观察者(订户)和被观察者(报社)之间的纽带。观察者需要维护一个与报纸相关的变量或函数,在这个具体问题中,这个变量就是订户是否收到报纸,可

2015-08-27 22:00:24 445

转载 struct与class的不同

C++中的struct对C中的struct进行了扩充,它已经不再只是一个包含不同数据类型的数据结构了,它已经获取了太多的功能。struct能包含成员函数吗? 能!struct能继承吗? 能!!struct能实现多态吗? 能!!! 既然这些它都能实现,那它和class还能有什么区别?最本质的一个区别就是默认的访问控制: 默认的继承访问权限struct是pu

2015-08-27 20:57:03 353

原创 关于类的成员的访问权限的题目

中兴移动2014笔试的一道选择题:下面注释处会导致编译错误的是?class Base{protected:int mltem;private:int mCount;friend class Test;};class Sub:public Base{public:void Test(const Sub &sub,const Base & base)

2015-08-27 20:37:18 816

转载 斐波那契序列

斐波那契(Fibonacci1170-1250),意大利最杰出的数学家。其父为比萨的商人,他认为数学是有用的,因此送斐波那契向阿拉伯教师们学习数学,掌握了印度数码之一新的记数体系,后来游历埃及、叙利亚、希腊、西西里、法国等地,掌握了不同国家和地区商业的算术体系,1200年回答比萨,潜心研究数学,1202年写成《算盘全集》,此书广为流传,为在欧洲传播印度-阿拉伯数码起了重要的作用。1228斐波那

2015-08-24 17:10:44 1107

原创 循环链表的有趣遍历

有一个循环单链表,有99个结点,有两个指针p1,p2分别指向链表的头结点,p1每次走1个结点,p2每次走3个结点,问走了多少次后,p1、p2指针所指向的结点会相同。假设第一个结点标记为0结点,相应的结点标记为1结点、2结点……98结点。假设走了x次后,p1所指向结点为(0+x*1)%99,p2所指向的结点为(0+x*3)%99。所以这两个表达式的值一定相同,(0+x*3)-(0+x*1)=2*

2015-08-24 10:14:08 731

原创 matlab转化为opencv代码过程中按行扩大矩阵

在matlab中,对于循环语句,如果每次处理,需要记录其中间结果的话,可以在循环语句之前定义一个变量,例如Y=[];表明这个矩阵Y为空。新加入的矩阵为B,按行加入Y为Y=[Y;B]。那么在opencv中方法来模拟此过程。在opencv中图像一般保存在Mat类型中,Mat类有2个方法,

2015-08-23 21:05:20 1012

原创 10到10000中的0的个数

题目1:10到10000中0的个数。题目2:10到10000中所有位乘积为0的数的个数。题目1的解决依赖于题目2,所以首先要求出10到10000中所有含有数字的数字的个数。当为2位数时:第一位不能为0,从1到9中取,第二位要为0,则含有0的数字的个数为9*1=9。当为3位数时:第一位不能为0,从1到9中取,含有1个0,9*C(2,1)*9=9含有2个0,9*1=9

2015-08-23 15:30:53 1465

原创 使用二分法求解

给定一个排好升序的数组A[1]、A[2]、……、A[n],其元素的值都两两不相等。请设计一高效的算法找出中间所有A[i] = i的下标。并分析其复杂度。思路:假设数组长度为len,则数组第一个元素的下标为0,最后一个元素的下标为len-11、当数组中第一个元素A[0]大于len-1时,因为数组中元素是升序,所以数组中其他元素都比len-1大。这种情况下A[i]不可能等于i。2、当数

2015-08-22 16:46:14 827

原创 求两个字符串的最大公共字串问题

以下题目来自阿里2015校园招聘、牛客网。给定一个query和一个text,均由小写字母组成。要求在text中找出以同样的顺序连续出现在query中的最长连续字母序列的长度。例如,query为 "acbac",text为"acaccbabb",那么text中的"cba"为最长的连续出现在query中的字母序列,因此,返回结果应该为其长度3。请注意程序效率。假设text的长度为m,que

2015-08-21 21:17:23 1115

原创 二叉树遍历求差值绝对值最大值

来自阿里巴巴2015年笔试题,参考牛客网。写一个函数,输入一个二叉树,树中每个节点存放了一个整数值,函数返回这颗二叉树中相差最大的两个节点间的差值绝对值。请注意程序效率。这道题目可以通过遍历整个二叉树,求解二叉树中最大值和最小值,最后算出最大的差值。可以定义一个二叉树,如下图。初始化二叉树结点、链接结点、二叉树的结构的定义struct BinTree{ int da

2015-08-21 19:27:42 1337

原创 关于c++派生类构造函数的思考

一道2011年阿里巴巴笔试题,主要考察派生类构造函数的执行过程#includeusing namespace std;class A { public:     A()  {    cout    ~A() {    cout};  class B:public A { public:     B(A &a):_a(a)     {  

2015-08-19 21:44:42 384

原创 指针的各种形式

2013年中兴笔试题简答题第2小题,指针的多种形式。2、请分别说出下面的A是什么?(1) int (**A)[10]  A是什么A是一个指向 10个int类型元素数组的指针的指针。(2)int *(*A)[10]  A是什么?A是一个指向 10个int *类型元素数组的指针。(3)int (*A[10]) ()  A是什么?A值指针数组,数组中每个指针指向一个输入参数为

2015-08-19 14:34:31 731

原创 判断一个单链表中是否存在环

单链表中存在环,表明是单链表中最后一个结点的指针指向单链表中其他结点。如图:4结点指向表中1结点。上图单链表中只存在一个结点,但是它的指针域指向自己。算法思路:可以初始化两个指针p1、p2分别指向链表的表头节点。p1指针每次更新:p1=p1->next->next;p2指针更新:p2=p2->next;当链表中没有环的时候,p1指针达到链表末尾,

2015-08-18 20:34:34 669

原创 返回一个字符串的前n位字符

参考自c++primer plus函数功能:输入一个字符串,返回值为一直字符指针,这个指针指向输入字符串的前n个字符。第一种:char * left1(const char *str,int n){ if(n<0)//异常处理 n=0; char *p =new char [n+1];//开辟新的内存空间 int i; for(i=0;i<n&&str[i];i++)

2015-08-14 10:56:35 2463

原创 阿里机试题目_虚函数

class my{};int main(){ my data; cout<<sizeof(data)<<endl;}当我们建立一个类,类中什么数据也没定义,建立该类的一个对象,可以测试其对象所占的字节数为1。class my{ char b;};int main(){ my data; cout<<sizeof(data)<<endl;}这个类中只有一个char型数

2015-08-13 22:34:53 622

原创 二叉树镜像使用递归法和循环法

该题目参考自>第19题目求一颗树的镜像的过程:我们先前序遍历这颗树的每个结点,如果遍历到的结点有子结点,就交换它的两个子结点。当交换完所有非叶子结点的左右子节点之后,就得到了树的镜像。a图中为一个二叉树,遍历此二叉树,先交换根节点8的左右子树,如图中红色区域。如图c,接着遍历到10结点,交换其左右子树。如图中红色区域。如图e,遍历到结点6,交换其左右子树。如

2015-08-11 22:52:33 799

原创 反转链表的循环方式和递归方式

出自《剑指Offer》第16题。题目:定义一个函数,输入一个链表的头结点,反转该链表并输出翻转后的链表的头结点。链表的结点定义:struct ListNode{int m_nKey;ListNode *m_pNext;};反转的过程主要是先把pNode所指向的结点用临时指针保存一下,然后你转pNode,使得pNode指向它的前一个结点。最后再更新pNod

2015-08-11 21:01:56 638

Math-Studio手册

一个计算器软件的使用说明,该软件功能强大,可以显示函数的图形

2018-06-22

数字图像处理(贾)

武汉大学教授编写的数字图象处理教材,该书包含了数字图像处理的主要方面。

2018-06-22

Quartus II 14.1+ ModelSim SE-64 10.4 Verilog后仿真

Quartus II 14.1+ ModelSim SE-64 10.4 Verilog后仿真 全部步骤解读。多图。

2018-04-23

空空如也

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

TA关注的人

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