• PUDN用户
    了解作者
  • Visual C++
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 235
    下载次数
  • 2005-09-16 09:01
    上传日期
用最大类间方差对图象的分割,是很好的图象分割程序
ostu.rar
  • www.pudn.com.txt
    218B
  • otsu.txt
    1.5KB
内容介绍
// writer: qiaoshan // message: 里面的一些图像指针需要适当改动才可应用, 不麻烦奥 // mail: uyskio@yahoo.com.cn LPSTR lpDIB; LPSTR lpDIBBits; DWORD width; DWORD height; DWORD widthLine; CCh1_1Doc* pDoc = GetDocument(); lpDIB = (LPSTR)GlobalLock(pDoc->GetHDIB()); lpDIBBits = FindDIBBits(lpDIB); width = DIBWidth(lpDIB); height = DIBHeight(lpDIB); widthLine = WIDTHBYTES(width*8); DWORD hist[256]; memset(hist, 0, 256*4); int i, j; for(j=0; j<height; j++) { for(i=0; i<width; i++) { hist[*(lpDIBBits+j*widthLine+i)]+=1; //calculate the histgram; } } float P[257]; for(i=1; i<257; i++) { P[i] = hist[i-1]/float(height*width); // calculate the probility } float q1[257]; // float q2[257]; float u1[257]; float u2[257]; float det[257]; float u; u = P[1]; for(i=2; i<257; i++) { u += i*P[i]; } q1[1] = P[1]; u1[1] = 1; for(i=2; i<257; i++) { q1[i] = q1[i-1] + P[i]; u1[i] =( q1[i-1]*u1[i-1] + i*P[i] )/q1[i]; u2[i] =( u-q1[i]*u1[i] )/( 1-q1[i] ); } float temp; int out; temp = (float)-1e33; for(i=1; i<257; i++) { det[i] = q1[i]*(1-q1[i])*(u1[i]-u2[i])*(u1[i]-u2[i]); if(det[i] > temp) out = i; temp = det[i]; } for(j=0; j<height; j++) //output the image { for(i=0; i<width; i++) { if(*(lpDIBBits+j*widthLine+i)<out-1) *(lpDIBBits+j*widthLine+i) = 0; else *(lpDIBBits+j*widthLine+i) = -1; } } GlobalUnlock(pDoc->GetHDIB());
评论
    相关推荐
    • ostu.rar
      ostu阈值分割算法,使用matlab实现
    • Ostu.zip
      取一个最优阈值把原图像分为前景色与背景色,两部分的类间方差越大,说明两部分差别越大,便能有效的分割图像。
    • ostu.zip
      大津法(OTSU)是一种确定图像二值化分割阈值的...从大津法的原理上来讲,该方法又称作最大类间方差法,因为按照大津法求得的阈值进行图像二值化分割后,前景与背景图像的类间方差最大(何为类间方差?原理中有介绍)。
    • 最大类间法进行图像的前景和背景的分割,并进行二值化处理
      最大类间法进行图像的前景和背景的分割,并进行二值化处理
    • 图像二值化经典算法最大类间方差法的matlab程序。
      图像二值化经典算法最大类间方差法的matlab程序。
    • ostu定点加速程序
      OSTU 大津阈值,采用定点加速,提速效果明显,采用OPENCV3实现
    • OSTU多阈值分割MATLAB程序
      Ostu方法又名最大类间差方法,通过统计整个图像的直方图特性来实现全局阈值T的自动选取,其算法步骤为: 1) 先计算图像的直方图,即将图像所有的像素点按照0~255共256个bin,统计落在每个bin的像素点数量 2) 归一化...
    • 最大类间方差法(ostu)进行图像分割
      用阈值分割方法中的经典算法----最大类间方差法进行图像分割,程序简单易读
    • 最大类间方差算法
      基于matlab的最大类间方差算法,程序可执行
    • ostu二值化matlab代码
      ostu图像分割matlab代码,将图像二值化。它的核心思想是:确定一个最佳阈值,使得以此阈值为分界的两类灰度级之间的类间方差达到最大