我有一個圖像。我想通過簡單的方法來分割它。你能告訴我用matlab分割它的最好方法嗎?請參考下面我給定的圖像文件here
和分割圖像文件(紅色爲邊界分割圖像)如何在MATLAB中通過簡單的方法分割給定的圖像
回答
下面這段代碼可以作爲一個起點。
I = load('imagetest.mat');
I = I.imagetest;
I = I./max(I(:));
se = strel('disk', 3);
Io = imopen(I, se);
Ie = imerode(I, se);
Iobr = imreconstruct(Ie, I);
Iobrd = imdilate(Iobr, se);
Iobrcbr = imreconstruct(imcomplement(Iobrd), imcomplement(Iobr));
Iobrcbr = imcomplement(Iobrcbr);
bw = im2bw(Iobrcbr, graythresh(Iobrcbr));
figure
imshow(bw, 'InitialMagnification', 'fit')
title('Binary image')
輸出是
可以使用watershed
命令獲取分開黑色和白色段的分水嶺脊線。可以嘗試的一些參數是形態結構元素(strel
命令),graythresh
返回的級別以及形態操作的繼承和類型。
希望有所幫助。
謝謝先生。這是很好的代碼 – user3336190
@ user3336190不客氣。 – Drake
如果你知道了閾值,最簡單的方法是:
BW = im2bw(I, level)
其中I
爲灰度圖像,並level
爲閾值。另一個難度較低的方法是local adaptive threshold。它將基於局部窗口平均強度的閾值決定。再次,這裏沒有什麼特別的東西,最簡單的細分。
段沒有一般的定義。有時人們想要從背景或對象或文本的一部分分割對象或前景。你必須定義你想要的分割類型。對於文本,您可以使用adaptive threshold,對於灰度級形狀圖像,可以使用connected components,對於可以使用模糊提示的對象(如果可用),對於顏色場景,可以使用GMM - 高斯混合模型 - 可以是合適的,請參閱grab cut。
我正在使用matlab來做到這一點。對於這個問題,我使用了一種先進的技術來分割灰色圖像的一部分。但是這個技術在上面的部分沒有被分割(我在文件中展示了它)。該方法將圖像構建爲能量函數並嘗試優化它。爲了改善它,我發現一些將圖像構建爲能量函數的技術。搶切就是其中之一。但這是非常複雜的時間,需要定義種子點。閾值需要知道閾值。在我的情況下,我想自動構建。我認爲集羣是最好的。你是否認爲這一點。 K-means聚類中的 – user3336190
您必須指定聚類數量。在openCV和Matlab中有這樣的庫函數。 (http://docs.opencv.org/modules/core/doc/clustering.html?highlight=kmean#cv.KMeans2)。如果您還想獨立使用高斯混合模型來模擬每個羣集的範圍。問題是你的數據看起來不像。你的數據代表什麼? – Vlad
我的數據是醫學圖像中的特殊數據。我想我會用多個門檻來做到這一點。它比其他方法更簡單。我會找到如何確定其門檻。在我上面的情況。我會設置閾值是250和300 – user3336190
- 1. MATLAB中的圖像分割算法
- 2. 圖像分割(MATLAB)
- 3. Matlab分割圖像
- 4. 圖像分割Matlab的
- 5. 如何在matlab中查找圖像分割部分的厚度?
- 6. 要求各種方法來分割圖像中的對象 - MatLab
- 7. 做圖像分割給定圖像中區域的邊界
- 8. 過度分割圖像的算法
- 9. 如何在MATLAB中通過標量分割矩陣?
- 10. 肝臟的Matlab圖像分割
- 11. 基於位置的圖像中的對象分割(在Matlab中)
- 12. 在matlab中的圖像分割,imcrop不裁剪右圖
- 13. 在ImageView中確定圖像大小的最簡單方法
- 14. 使用matlab實現圖像分割中分割圖像包含多少片
- 15. 最簡單的方法在Matlab
- 16. 使用matlab從圖像中分割文本的常用方法是什麼?
- 17. 在matlab中繪製TSP圖的最簡單方法是什麼?
- 18. 如何通過unix命令分割給定範圍
- 19. 在matlab中簡化圖像
- 20. 無法通過java中的「==」或「!=」分割
- 21. 在Matlab分割後如何利用背景值從圖像?
- 22. 通過Matlab將圖像分割成8行,並非所有分區都顯示
- 23. MATLAB:從二進制圖像中分割單個字母
- 24. 通過JNI將float [] []傳遞給C++的最簡單方法
- 25. 如何在Matlab中手動分割和標記圖像中的ROI?
- 26. 圖像分割及其在MATLAB中的性能比較
- 27. 灰度圖像中的MATLAB分類分割,陰影不變
- 28. 使用MATLAB分割圖像處理
- 29. Matlab圖像分割和圓形識別
- 30. 在matlab中按像素強度進行圖像分割
更好地展示你到目前爲止嘗試過的東西。 – herohuyongtao