Re: [討論] 針對一個50*50的矩陣,想要畫出框框已回收

看板MATLAB作者 (鋼琴中的大賦格)時間16年前 (2009/10/24 22:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《hohoww (瞇瞇看~瞇挺了沒)》之銘言: : 想請問大家 : 針對一個50*50的矩陣,內容預設全部都是zeros : 經過運算之後, : 可能會在好幾個點出現1值,但不一定是相鄰, : 請問有什麼方式,能夠作出最小的框把所有的1框起來呢? : 不知道是否matlab有提供 給他兩個座標點, : 就能夠在畫面上出現以這兩點為,左上跟右下的矩形呢? 來回個旁門左道的寫法 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% A = rand(10, 10) > 0.95 row = sum(A); r1 = filter(1, [1 -1], row); r2 = fliplr(filter(1, [1 -1], fliplr(row))); row = double((r1.*r2) > 0); col = sum(A'); c1 = filter(1, [1 -1], col); c2 = fliplr(filter(1, [1 -1], fliplr(col))); col = double(((c1.*c2) > 0)'); col*row %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% col*row就是你要的1矩陣 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.243.6
文章代碼(AID): #1Aumw0Zc (MATLAB)
文章代碼(AID): #1Aumw0Zc (MATLAB)