图像对比度增强之-imadjust
发表于|更新于|算法
图像增强,对比度拉伸时常用的一个函数,在matlab中,也有对应的函数,既imadjust,但是在实际应用中,效果并不是很理想,在下文的讨论中,就涉及到如何自动确定高低阈值,当然了这里只是针对简单的场景。如下图所示,有整体偏亮及偏暗的图
图例1###

###图例2###
对于这种二值划分的图像,采用图像分割的方法,分别确定两个区域的平均灰度,作为imadjust的阈值,可以达到较好的效果。如下图所示
###图例1-Matlab默认值输出###
###图例1-自动确定阈值输出###
###图例2-Matlab默认值输出###
###图例2-自动确定阈值输出###

从上面的图例中不难看出,自动确认的阈值在对比度提升上更加明显,对比度更大
相关推荐

5月 4 2014
使用MATLAB进行USB摄像头的编程
1、查询USB2.0Camera 的具体参数(imaqhwinfo) 2、创建视频输入对象(videoinput) 3、图像预览和显示(preview、stoppreview、closepreview和image) 4、获取视频图像(getsnapshot) 5、图像获取设备的获取和设置(get和set) 6、关闭视频对象(delete) 在正式讲解之前,我想说明下几个个在图像获取工具箱中的术语: 图像获取设备:比如摄像头、扫描仪 图像获取适配器:主要的目的是通过驱动在Matlab和图像获取设备之间传递信息 ROI:region-of-interest 感兴趣区域 在说说几个常用的函数,我们这里只是说明它的作用,具体如何使用参考帮助系统 getselectedsource imaqfind isvalid peekdata getdata imaqmontage 给我们一个摄像头我们必须知道他的相关参数,才可能进行我们的编程下。当然我们可以查询商家手册,但是那个累不累人呀。 Matlab的图像获取工具箱为我提供了imaqhwinfo(),来获取PC上以安装的图像获取硬件信息 没...

5月 4 2014
图像主方向
参考文献:利用图像边缘信息估算图像纹理主方向 matlab实现: function [mdex] = MainDirec(a) % function: the main direction of the image % description: the direction edge is [0,180],and the direction are divided % to 18 part by 10, % output: the index of the direction ,form 1 to 18;where 1 is defined as the % direction belong to[0,18],the rest can be done in the same manner,18 % derecting to [170,180] % last modification:Dec.19,2011 by Lucifer.jia if(size(a,3)~=1) a=rgb2gray(a); end [w,h]=size(a); edge_...

11月 10 2014
最大子数组求解
在做股票投资时,当买进最低,抛出最高时,获取的盈利是最大的,分别求出当天相对于前天的差价,数学上讲,将差价定义为一个数组,求其一阶差分,求一个数组下标,使得其和最大。 为了解决这一问题,可以采用分治法解决,对于数组A,开始、中间和结束坐标索引为low,mid,hight,最大的子数组只可能存在[low,mid],[mid+1,hight]和跨越中点的最大子数组,函数FIND-MAX-CORSSING-SUBARRAY接受数组A及线标low,mid,high为输入,返回一个下标元祖划定跨越中点的最大子数组的边界,并返回最大子数组 分析可以知道,其复杂度为N,进而可以通过分治算法求得最终解如下所示:

5月 4 2014
灰度共生矩阵(GLCM)
共生矩阵用两个位置的象素的联合概率密度来定义,它不仅反映亮度的分布特性,也反映具有同样亮度或接近亮度的象素之间的位置分布特性,是有关图象亮度变化的二阶统计特征。它是定义一组纹理特征的基础。 一幅图象的灰度共生矩阵能反映出图象灰度关于方向、相邻间隔、变化幅度的综合信息,它是分析图象的局部模式和它们排列规则的基础。 设f(x,y)为一幅二维数字图象,其大小为M×N,灰度级别为Ng,则满足一定空间关系的灰度共生矩阵为 P(i,j)=#{(x1,y1),(x2,y2)∈M×N|f(x1,y1)=i,f(x2,y2)=j} 其中#(x)表示集合x中的元素个数,显然P为Ng×Ng的矩阵,若(x1,y1)与(x2,y2)间距离为d,两者与坐标横轴的夹角为θ,则可以得到各种间距及角度的灰度共生矩阵P(i,j,d,θ)。 纹理特征提取的一种有效方法是以灰度级的空间相关矩阵即共生矩阵为基础的[7],因为图像中相距(Δx,Δy)的两个灰度像素同时出现的联合频率分布可以用灰度共生矩阵来表示。若将图像的灰度级定为N级,那么共生矩阵为N×N矩阵,可表示为M(Δx,Δy)(h,k),其中位于(h,k)的元素m...

5月 15 2014
任意点到斜椭圆最小距离
最近由于项目需求,要计算任意点到斜椭圆的距离,方程相信大家都知道怎么建立,但是它是一个4次方程,matlab都很不好解,写到程序中也很难,搜了很多帖子,都是只给方程,不给解的,其实原理大家都知道,如何用程序解才是大家关心的,所以一直都没有找到合理的答案,关键时刻还是google给力,度娘一般的东西还撮合,可学术性的、英文的确是一塌糊涂,网络上收集到这样一篇论文,我也是用这个算法最终解决我的问题的,它只使用与标准方程,斜椭圆只是多了平移和旋转操作而已。 ###第一象限中的点到标准椭圆的距离### double DistancePointEllipseSpecial(const double e[2], const double y[2], double x[2]) { double distance; if (y[1] > 0) { if (y[0] > 0) { // bisect to compute the root of F(t) for t >=...

5月 4 2014
Libsvm 之svmpredict 输出概率
[p1,p2,p3]=svmpredict(label_test,testdata,svmstruct,'-b 1') 这个相比大家都用过,p1输出预估的类别,p2准确率,p3不同类的分类概率,但是这里面却有个小陷阱,之前我的理解,p3的一行代表不同类的概率,且是按照顺序排列的,既列的索引对应类别的索引,这次小师弟问我,才注意到并不是按照顺序的,而是在svmtrain训练的模型中既model.Label这个变量中,保存的类别,相应的,也是按照这个排序的。 [~,mdex]=max(p3(i,:)); %样本所属分类概率 p=model.Label(mdex);
评论

