[繪圖] 如何擷取不規則區域

看板MATLAB作者 (東逼)時間11年前 (2014/08/22 14:12), 11年前編輯推噓2(208)
留言10則, 2人參與, 最新討論串1/1
大家好 是這樣子的 我有一張圖經由運算畫出來後 只想顯示部分區域就好 像是這樣: --------------------- | | | ----- | | | | | | | | | →六角形區域表示我只想顯示的範圍 | \_/ | 已知這六角形的六個頂點 | | |--------------------| 我知道原本可以利用imcrop或是imrect輸入座標點後來擷取想要的區域 但是今天我想擷取的區域是不規則的部分 應該說只想顯示我想的部分就好 不規則的區域座標點是已知的 除了這個區域外,其他部分顯示黑色也可 請問要怎麼做呢?@@ 這好像有點類似mask的方法? 但爬了文以及網路上似乎都沒找到 就來這裡請教大家了 在此也先謝謝各位不吝指教囉 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.179.30 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1408687954.A.14D.html

08/22 14:27, , 1F
showHandle = imshow(img);
08/22 14:27, 1F

08/22 14:27, , 2F
set(showHandle,'Cdata',img, 'AlphaData', mask);
08/22 14:27, 2F
※ 編輯: donby (59.120.179.30), 08/22/2014 15:39:15

08/22 17:40, , 3F
感謝樓上~不過我找到其他方法了@@"
08/22 17:40, 3F

08/22 17:42, , 4F
img = imread(...); mask = uint8(roipoly(img, px, py));
08/22 17:42, 4F

08/22 17:43, , 5F
roi(:,:,1)=roi(:,:,2)=roi(:,:,3)=mask;imshow(roi.*img)
08/22 17:43, 5F

08/22 17:45, , 6F
px,py分別是不規則區域的x,y頂點~這樣最後就只會秀出不規則
08/22 17:45, 6F

08/22 17:45, , 7F
區域的範圍,其他部分則是顯示黑色了@@
08/22 17:45, 7F

08/22 17:59, , 8F
另外就是px,py好像也要照多邊形的順序就是了@@y
08/22 17:59, 8F

08/30 00:50, , 9F
我上面的方法是連黑色都不顯示
08/30 00:50, 9F

08/30 00:50, , 10F
只會顯示crop出來的地方
08/30 00:50, 10F
文章代碼(AID): #1JzjzI5D (MATLAB)
文章代碼(AID): #1JzjzI5D (MATLAB)