日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 人工智能 > 循环神经网络 >内容正文

循环神经网络

[matlab数字图像处理10]对一副图像进行二值化,ostu算法等

發(fā)布時間:2024/8/1 循环神经网络 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [matlab数字图像处理10]对一副图像进行二值化,ostu算法等 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一、 問題描述

對一副圖像進(jìn)行二值化,ostu算法等

二、 求解思路

將圖像利用imread和rgb2gary后轉(zhuǎn)化為灰度圖像,對于直接的二值化,可使用0.5作為閾值
大津法(OTSU)是一種確定圖像二值化分割閾值的算法,由日本學(xué)者大津于1979年提出.通過設(shè)定一個閾值將圖像像素分為兩類,兩者的占比分別為p1,p2,兩者的均值分別為m1,m2,全局均值為mG,其中

通過循環(huán)255個像素得到,使得式子

有最大值,此閾值可以直接使用matlab自帶的graythesh算出。本文也嘗試?yán)蒙衔牡墓角蟪鍪沟檬阶幼畲蟮拈撝?/p>

三. 程序代碼

clear; clc; close all x=imread('tupian.jpeg'); subplot(3,3,1) imshow(x) title('原圖') %% 利用im2bw直接閾值二值化 T = 0.5; BW = im2bw(x,T); subplot(3,3,2) imshow(BW) title('利用im2bw直接閾值二值化') %% 手動閾值二值化 subplot(3,3,3) f=x; g=rgb2gray(f); new_g=zeros(size(g)); new_g(g>125)=1; imshow(new_g) title('手動閾值二值化') %% otsu算法 subplot(3,3,4) T_otsu=graythresh(g); p_otsu=im2bw(x,T_otsu); imshow(p_otsu) title('matlab自帶otsu') %% 手動otsu算法 subplot(3,3,5) [row,col]=size(g); [counts] = histogram(g); num=counts.Values; num=num/sum(num); max=0; kmax=0; for i=2:size(num,2)p1=sum(num(1:i));p2=1-p1;sump1=0;sump2=0;for k=1:isump1=sump1+k*num(k);endfor k=i+1:size(num,2)sump2=sump2+k*num(k);endm1=1/p1*sump1;m2=1/p2*sump2;thetasq=p1*p2*(m1-m2).^2;if thetasq>maxmax=thetasq;kmax=i;end end kmax=(kmax-1)*255/size(num,2); new_g1=zeros(size(g)); new_g1(g>kmax)=1; imshow(new_g1) title('手動閾值二值化') disp('手動計算otsu閾值') disp(kmax/255) disp('matlab自帶算法計算閾值') disp(T_otsu)

四. 實驗結(jié)果

如圖所示分別為原圖,使用函數(shù)im2bw直接二值化圖像,手動利用閾值二值化圖像以及利用matlab自帶函數(shù)計算大津法(otsu)給出閾值對圖像二值化和利用手寫公式求出閾值對圖像二值化

對于該種情況的圖片,手動計算的閾值與matlab自帶的算法計算的閾值幾乎一致,在計算otsu閾值時,注意使用hist函數(shù)獲得每個像素值所占的數(shù)量。

五、實驗心得

直接對函數(shù)用二值化分割有時候會不太理想,利用otsu等算法給出的結(jié)果能得到更好的分割結(jié)果

總結(jié)

以上是生活随笔為你收集整理的[matlab数字图像处理10]对一副图像进行二值化,ostu算法等的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。