C#阈值分割处理图像

问题描述

想用c#编一个可以对图像阈值分割的函数,但是老是运行不正确privatestaticBitmaprobot(BitmapcurBitmap){Rectanglerect=newRectangle(0,0,curBitmap.Width,curBitmap.Height);System.Drawing.Imaging.BitmapDatabmpData=curBitmap.LockBits(rect,System.Drawing.Imaging.ImageLockMode.ReadWrite,curBitmap.PixelFormat);IntPtrptr=bmpData.Scan0;intbytes=curBitmap.Width*curBitmap.Height;byte[]grayValues=newbyte[bytes];System.Runtime.InteropServices.Marshal.Copy(ptr,grayValues,0,bytes);byteT=0,S=0;byte[]neighb=newbyte[bytes];bytetemp=0;bytemaxGray=0;byteminGray=255;int[]countPixel=newint[256];for(inti=0;i<grayValues.Length;i++){temp=grayValues[i];countPixel[temp]++;if(temp>maxGray){maxGray=temp;}if(temp<minGray){minGray=temp;}}doublemu1,mu2;intnumerator;doublesigma;doubletempMax=0;doublew1=0,w2=0;doublesum=0;numerator=0;for(inti=minGray;i<=maxGray;i++){sum+=i*countPixel[i];}for(inti=minGray;i<maxGray;i++){w1+=countPixel[i];numerator+=i*countPixel[i];mu1=numerator/w1;w2=grayValues.Length-w1;mu2=(sum-numerator)/w2;sigma=w1*w2*(mu1-mu2)*(mu1-mu2);if(sigma>tempMax){tempMax=sigma;T=Convert.ToByte(i);}}for(inti=0;i<bytes;i++){if(grayValues[i]<T)grayValues[i]=0;elsegrayValues[i]=255;}System.Runtime.InteropServices.Marshal.Copy(grayValues,0,ptr,bytes);curBitmap.UnlockBits(bmpData);returncurBitmap;}这是程序,处理时总是只能处理上半部分,有没有大神能给改改,或者给一个更好的处理方法。

解决方案

解决方案二:
您忘了每个像素是由三原色组成的
解决方案三:
能具体点吧,没听懂

时间: 2024-11-08 22:22:25

C#阈值分割处理图像的相关文章

fastmaching-ITK中level set分割序列图像问题

问题描述 ITK中level set分割序列图像问题 尝试用ITK中examples中的fastmarching方法分割图像,在单张的DICOM图像上分割没有问题,可是怎么样衍生到CT序列图像中啊,直接读入DICOM序列图像分割好像行不通啊,有没有高手大神帮忙解答一下,万分感谢

阈值-MATLAB图像分割,光照不均匀图像用什么分割方法比较好,Ostu算法如何改进,sobel

问题描述 MATLAB图像分割,光照不均匀图像用什么分割方法比较好,Ostu算法如何改进,sobel 本人最近在做毕业设计,基于Matlab的植物叶脉提取,因为叶片采集过程中受光照影响比较大,所以如果直接用Ostu进行阈值分割,可以发现反光比较厉害的区域基本提取不出叶脉来,请问这样的情况应该用什么分割方法比较好.如果用基于Ostu阈值分割,应该怎么改进会有比较好的效果呢.另外我想知道,如果用边缘提取的方法提取,那提取边缘之后,应该如何处理,才能做出和阈值分割类似的效果,即我想把提取出来的边缘如果

视频图像分割研究与实现(二):常见图像和视频分割方法概述

常见图像和视频分割方法概述 图像与视频分割是指按照一定的原则将图像或视频序列分为若干个特定的.具有独特性质的部分或子集,并提取出感兴趣的目标,便于更高层次的分析和理解,因此图像与视频分割是目标特征提取.识别与跟踪的基础. 图像分割方法主要包括: 1).基于边缘的分割方法 2).基于阈值的分割方法 3).基于区域的分割方法 4).基于形态学分水岭的分割方法 5).基于聚类的分割方法 6).基于图论的分割方法 7).基于偏微分的分割方法 8).基于融合的分割方法 视频分割方法主要包括: 9).基于时

十分钟看懂图像语义分割技术

大多数人接触 "语义" 都是在和文字相关的领域,或语音识别,期望机器能够识别你发出去的消息或简短的语音,然后给予你适当的反馈和回复.嗯,看到这里你应该已经猜到了,图像领域也是存在 "语义" 的. 今天是 AI 大热年,很多人都关注与机器人的语音交互,可是有没有想过,将来的机器人如果不能通过图像来识别主人,家里的物品.宠物,那该多没意思.说近一些,假如扫地机器人能够机智地绕开你丢在地上的臭袜子而扫走旁边的纸屑,一定能为你的生活解决不少麻烦. 没错,图像语义分割是 AI

uc伯克利人工分割图像.seg文件解析

之前看到  http://www.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/segbench/ 提供的人工图像分割的.seg格式的文件,他们提供了linux系统下面的matlab代码,什么的,但是我们要在windows平台下面用就比较麻烦,就心血来潮写一个试试,还请大牛们指点一二啊,嘿嘿嘿 下面是SegHuman.h /* // # Reload me! // // SEGMENTATION FILE FORMAT // D

图像相似度算法的C#实现及测评

闲言碎语 才疏学浅,只把计算图像相似度的一个基本算法的基本实现方式给罗列了出来,以至于在最后自己测评的时候也大发感慨,这个算法有点不靠谱.不管怎么样,这个算法有时候还是有用的,所以还是列出来跟大家伙一起分享分享~~ PS:图像处理这一块博大精深,个人偶尔发现了点东西拿来分享.说的不好的地方,写得太糟的地方,诸位准备扔砖头还望淡定,淡定~~ 基本知识介绍 颜色直方图 颜色直方图是在许多图像检索系统中被广泛采用的颜色特征,它所描述的是不同色彩在整幅图像中所占的比例,而并不关心每种色彩所处的空间位置,

如此逼真的高清图像居然是端到端网络生成的?GANs 自叹不如 | ICCV 2017

雷锋网 AI 科技评论按:生成式对抗性网络 GANs 是近几年最热门的机器学习范式之一,它"图像生成效果好"和"训练困难.效果不稳定"的特点吸引了许许多多研究者付出精力进行 GANs 的研究.虽然它在大尺寸图像和图像逼真程度方面的表现仍然有限,但仍然是目前最好的图像生成范式. 所以当看到如此逼真的高分辨率生成图像的时候,我们几乎要以为这是 GANs 的新突破.虽然图中还有一些扭曲和不自然,但是细节和物体的结构已经比较完善.然而定睛一看,这样的效果居然是一个单向的端到

科普丨【计算机视觉】OpenCV中直方图处理函数简述

作者Jason DingGitCafe博客主页(http://jasonding1354.gitcafe.io/) 计算直方图calcHist 直方图是对数据集合的统计 ,并将统计结果分布于一系列预定义的bins中.这里的数据不仅仅指的是灰度值 ,统计数据可能是任何能有效描述图像的特征. 假设有一个矩阵包含一张图像的信息 (灰度值 0-255): 既然已知数字的范围包含256个值, 我们可以将这个范围分割成子区域(称作 bins),如: 然后再统计掉入每一个bin_{i}的像素数目.采用这一方法

Python验证码识别处理实例(转)

一.准备工作与代码实例 1.PIL.pytesser.tesseract (1)安装PIL:下载地址:http://www.pythonware.com/products/pil/(CSDN下载) 下载后是一个exe,直接双击安装,它会自动安装到C:\Python27\Lib\site-packages中去, (2)pytesser:下载地址:http://code.google.com/p/pytesser/,(CSDN下载) 下载解压后直接放C:\Python27\Lib\site-pack