全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:2617
推到 Plurk!
推到 Facebook!

如何將這兩段程式合併!~(MATLAB)

答題得分者是:
jwisme
一般會員


發表:1
回覆:3
積分:0
註冊:2008-12-14

發送簡訊給我
#1 引用回覆 回覆 發表時間:2008-12-14 23:30:44 IP:59.113.xxx.xxx 訂閱
-------------橫向取點---------------
[ row,col ] = size(cg1) ;
for i = 1 : row-2
for j = 1 : col
if cg1(i 1,j) > cg1(i,j) && cg1(i 1,j) > cg1(i 2,j)
output(i,j) = cg1(i 1,j) ;
else
end
end
end
-------------縱向取點---------------
[ row,col ] = size(cg1) ;
for i = 1 : row
for j = 1 : col-2
if cg1(i,j 1) > cg1(i,j) && cg1(i,j 1) > cg1(i,j 2)
output(i,j) = cg1(i,j 1) ;
else
end
end
end

分別寫出的分水嶺法取點
(原先是打算寫分水嶺法寫出來後才發現只有一半!~)
現在也不知道該怎麼把她們合起來!~
麻煩MATLAB專家(高手)指點一下!~謝謝

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2008-12-15 00:19:00 IP:202.132.xxx.xxx 未訂閱
1> 請給 cg1
2> 請問這兩段結果都達到你的要求了嗎?
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jwisme
一般會員


發表:1
回覆:3
積分:0
註冊:2008-12-14

發送簡訊給我
#3 引用回覆 回覆 發表時間:2008-12-15 01:03:21 IP:59.113.xxx.xxx 訂閱
cg1 是我之前的梯度圖像
-------------橫向取點---------------
t=imread('cameraman.tif');

str1=strel('square',3);
ce1=imerode(t,str1);
cd1=imdilate(t,str1);
cg1=imsubtract(cd1,ce1);

[ row,col ] = size(cg1) ;
for i = 1 : row-2
for j = 1 : col
if cg1(i 1,j) > cg1(i,j) && cg1(i 1,j) > cg1(i 2,j)
output(i,j) = cg1(i 1,j) ;
else
end
end
end

這是全部
這兩段都已經分別做到了我想法
編輯記錄
jwisme 重新編輯於 2008-12-15 08:51:04, 註解 無‧

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#4 引用回覆 回覆 發表時間:2008-12-15 10:03:38 IP:60.249.xxx.xxx 未訂閱
方便的話可以提供"'cameraman.tif"這個檔嗎?
想看看做出來的橫向與縱向的效果差在那裡.(因基本上你的2個取的方法是一樣的,只是坐標軸轉換)
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
jwisme
一般會員


發表:1
回覆:3
積分:0
註冊:2008-12-14

發送簡訊給我
#5 引用回覆 回覆 發表時間:2008-12-15 13:31:07 IP:59.113.xxx.xxx 訂閱
"cameraman.tif "這個是MATLAB原有的圖檔

不知道要怎麼貼上來!~

但是我試過其他的圖也是可以做出我所打的(橫 縱 座標 取點)效果

我現在在考慮把它的輸出參數名字修改看看能不能合併起來!~

但是MATLAB沒學好!~很困擾!!~不知道該怎麼下手
編輯記錄
jwisme 重新編輯於 2008-12-15 13:32:58, 註解 無‧
jwisme
一般會員


發表:1
回覆:3
積分:0
註冊:2008-12-14

發送簡訊給我
#6 引用回覆 回覆 發表時間:2008-12-15 22:11:13 IP:59.113.xxx.xxx 訂閱
不小心自己做出來了!~
~忽然就有靈感了!!~
謝謝版主的回應喔!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#7 引用回覆 回覆 發表時間:2008-12-16 00:46:39 IP:202.132.xxx.xxx 未訂閱
[code cpp]
%--------- 縱合 -------------------
t=imread('cameraman.tif');
str1=strel('square',3);
ce1=imerode(t,str1);
cd1=imdilate(t,str1);
cg1=imsubtract(cd1,ce1);
[ row,col ] = size(cg1) ;
for i = 1 : row
for j = 1 : col
if(i <= row-2)
if(cg1(i 1,j) > cg1(i,j) && cg1(i 1,j) > cg1(i 2,j))
A(i,j) = cg1(i 1,j) ;
end
end
if(j <= col-2)
if(cg1(i,j 1) < cg1(i,j) && cg1(i,j 1) > cg1(i,j 2))
A(i,j) = cg1(i,j 1) ;
end
end
end
end

[/code]
僅供參考. 很高興你自己想出來了 ^_^

P.S : 剛發表問題時可上傳檔案.(在下方)
之後要再上傳檔案或圖, 可上傳到本站貼圖區, 再引用即可.
http://delphi.ktop.com.tw/board.php?cid=31&fid=130

------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
系統時間:2024-04-29 10:46:24
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!