[問題] 關於在影像中畫圖已回收
clear all;
close all;
clc;
% ############################[ user input ]###############################
% mdb209 : 1 mdb236 : 14
% mdb211 : 2 mdb238 : 15
% mdb213 : 3 mdb239 : 16, 17
% mdb218 : 4 mdb240 : 18
% mdb219 : 5 mdb241 : 19
% mdb222 : 6 mdb248 : 20
% mdb223 : 7, 8 mdb249 : 21, 22
% mdb226 : 9, 10, 11 mdb252 : 23
% mdb227 : 12 mdb253 : 24
% mdb231 : 13 mdb256 : 25
ca_coord = [ 647 503; 680 327; 547 520; 519 629; 546 756; 398 427; 523 482;
591 529; 287 610; 329 550; 531 721; 504 467; 603 538; 276 824; 522 553; 645
755; 567 808; 643 614; 453 678; 378 601; 544 508; 575 639; 439 367; 733 564;
400 484 ];%圓心座標
mammogram_num = [1]; % 1~25 (mdb209 ~ mdb256)
show_r2 = [ 87 13 45 8 29 17 29 6 7 25 8 9 44 14 17 40 25 23 38 10 48 64 23
28 37 ]; %半徑大小
[cal_num] = size(mammogram_num, 2);
for i = 1:cal_num
show_r_temp(i) = show_r2(mammogram_num(i));
ca_site(i,1)=1024-ca_coord(mammogram_num(i),2); % 給定要擷取影像的座標中心
xy 相反 (x,1024-y)
ca_site(i,2)=ca_coord(mammogram_num(i),1);
end
[FileName,PathName] = uigetfile('*.bmp','Select mammogram');
str = [PathName,FileName];
FileName
I=imread(str);
I_origin = I;
[row col]=size(I);
I_color = zeros(row,col,3);
I_final_result = I_color;
for i = 1:3
I_color(:,:,i) = I_origin;
end
for i = 1:cal_num
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)-show_r_temp(i)+1),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),1)
= 255;
I_color((ca_site(i,1)+show_r_temp(i)-1):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),1)
= 255;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)-show_r_temp(i)+1),1)
= 255;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)+show_r_temp(i)-1):(ca_site(i,2)+show_r_temp(i)),1)
= 255;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)-show_r_temp(i)+1),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),2)
= 0;
I_color((ca_site(i,1)+show_r_temp(i)-1):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),2)
= 0;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)-show_r_temp(i)+1),2)
= 0;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)+show_r_temp(i)-1):(ca_site(i,2)+show_r_temp(i)),2)
= 0;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)-show_r_temp(i)+1),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),3)
= 0;
I_color((ca_site(i,1)+show_r_temp(i)-1):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)+show_r_temp(i)),3)
= 0;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)-show_r_temp(i)):(ca_site(i,2)-show_r_temp(i)+1),3)
= 0;
I_color((ca_site(i,1)-show_r_temp(i)):(ca_site(i,1)+show_r_temp(i)),(ca_site(i,2)+show_r_temp(i)-1):(ca_site(i,2)+show_r_temp(i)),3)
= 0;
end
figure, imshow(uint8(I_color));title('Original');
--
如程式碼所示
此程式可以利用顏色取代方式
在原本圖上畫出一個紅色方框
在已知圓心及半徑的情況下
如何利用相同方式畫出圓形框呢
因為用plot直接畫 會直接畫出另一個圓形 囧a
或是要用handle控制?@@
感謝大家的解答<(_ _)>
--
SS CF LF DH 1B 2B 3B C RF SP SP SP SP SP CP CP RP CP CP CP CP CP CP
98 99 98 97 00 93 98 98 03 93 92 95 03 90 95 07 96 07 05 01 04 93 93
大 黃 布 奧 謝 康 布 陳 陳 黃 陳 巴 蔡 賈 郭 米 百 黃 達 貝 王 瓊 湯
帝 甘 雷 力 佳 雷 拉 金 懷 平 義 比 仲 西 建 克 力 俊 威 爾 勁 茲 尼
士 霖 特 偉 賢 德 茂 山 洋 信 諾 南 成 中 力
SS97帝多 CF99德五
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.123.112.36
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章