| 9 | 1/1 | 返回列表 |
| 查看: 2498 | 回復(fù): 8 | |||
dlwxtj鐵桿木蟲 (著名寫手)
|
[求助]
for循環(huán)語句的加速優(yōu)化求助! 已有3人參與
|
|
此程序為一段圖像處理算法(大小為960*1280像素的圖片),想通過改變逐個像素的方法來改變圖像,但運行速度極慢,想請高手幫忙優(yōu)化下,不勝感激。! for a=1:94; d(a)=1; end for r=1:1280; for k=1:960; m1(k,r)=0; for a=1:94; if map(k,r)==1 & a<=84; %其中map為一幅圖像的二進制圖像。 mm1(a)=d(a)*50; else mm1(a)=d(a)*20; end m1(k,r)=m1(k,r)+mm1(a); end end end i=0; for r=1:1280; for k=1:960; M1(i+k,i+k)=m1(k,r); end i=i+k; end |
木蟲 (正式寫手)
|
LZ是不是代碼沒貼全?從給出的部分看,全1向量d沒存在意義,定義后沒改過數(shù)值,那么mm1(a)=50沒必要*d(a)。就算有用也不需要用for定義,用d=ones(94,1)就行了。 最后一段,M1是個尺寸大得嚇人的方陣,行(列)數(shù)是1到960的累加,先把這個累加數(shù)算出來,循環(huán)前用全0或全1之類的命令定義出一個臨時的M1可以加速,否則每循環(huán)1次MATLAB都因為矩陣尺寸改變要重新分配一遍內(nèi)存地址。 |
至尊木蟲 (著名寫手)
驃騎將軍

榮譽版主 (知名作家)
小木蟲浪子
|
盡量改為向量化處理,比如: for a=1:94; d(a)=1; end 可以改為d(1:94)=1;如果你d在前面未定義,就直接用d=ones(1,94); for r=1:1280; for k=1:960; m1(k,r)=0; for a=1:94; if map(k,r)==1 & a<=84; %其中map為一幅圖像的二進制圖像。 mm1(a)=d(a)*50; else mm1(a)=d(a)*20; end m1(k,r)=m1(k,r)+mm1(a); end end end 可以改為: m1=zeros(1280,960);% if m1 has been defined previously, try m1(1:1280,1:960)=0; 下面的循環(huán)很麻煩,看不懂,自己考慮進行改進,其實不用這樣的循環(huán),如果沒理解錯的話,map里面有多少個1,就循環(huán)for a=1:94; ... ; end多少次,你可以直接算有多少個1,然后直接乘或者加就好了。 for r=1:1280 for k=1:960 for a=1:94 if map(k,r)==1 & a<=84; %其中map為一幅圖像的二進制圖像。 mm1(a)=d(a)*50; else mm1(a)=d(a)*20; end m1(k,r)=m1(k,r)+mm1(a); end end end |

鐵桿木蟲 (著名寫手)
木蟲 (正式寫手)
榮譽版主 (知名作家)
小木蟲浪子

榮譽版主 (知名作家)
小木蟲浪子

鐵桿木蟲 (著名寫手)
| 9 | 1/1 | 返回列表 |
| 最具人氣熱帖推薦 [查看全部] | 作者 | 回/看 | 最后發(fā)表 | |
|---|---|---|---|---|
|
[考研] 085700資源與環(huán)境308求調(diào)劑 +6 | 墨墨漠 2026-03-18 | 6/300 |
|
|---|---|---|---|---|
|
[考研] 0856調(diào)劑,是學(xué)校就去 +6 | sllhht 2026-03-19 | 7/350 |
|
|
[考博] 東華理工大學(xué)化材專業(yè)26屆碩士博士申請 +8 | zlingli 2026-03-13 | 8/400 |
|
|
[考研] 能源材料化學(xué)課題組招收碩士研究生8-10名 +4 | 脫穎而出 2026-03-16 | 12/600 |
|
|
[考研] 266求調(diào)劑 +5 | 陽陽哇塞 2026-03-14 | 10/500 |
|
|
[考研] 求調(diào)劑 +3 | Mqqqqqq 2026-03-19 | 3/150 |
|
|
[考研] 化學(xué)工程321分求調(diào)劑 +15 | 大米飯! 2026-03-15 | 18/900 |
|
|
[考研] 312求調(diào)劑 +8 | 陌宸希 2026-03-16 | 9/450 |
|
|
[考研] 280求調(diào)劑 +6 | 咕嚕曉曉 2026-03-18 | 7/350 |
|
|
[考研] 考研求調(diào)劑 +3 | 橘頌. 2026-03-17 | 4/200 |
|
|
[考研] 283求調(diào)劑 +3 | 聽風(fēng)就是雨; 2026-03-16 | 3/150 |
|
|
[考研] 274求調(diào)劑 +5 | 時間點 2026-03-13 | 5/250 |
|
|
[考研] 304求調(diào)劑 +3 | 曼殊2266 2026-03-14 | 3/150 |
|
|
[考研] 0856求調(diào)劑 +3 | 劉夢微 2026-03-15 | 3/150 |
|
|
[考研] 326求調(diào)劑 +3 | mlpqaz03 2026-03-15 | 3/150 |
|
|
[考研] 327求調(diào)劑 +6 | 拾光任染 2026-03-15 | 11/550 |
|
|
[考研] 26考研一志愿中國石油大學(xué)(華東)305分求調(diào)劑 +3 | 嘉年新程 2026-03-15 | 3/150 |
|
|
[考研] 085601材料工程315分求調(diào)劑 +3 | yang_0104 2026-03-15 | 3/150 |
|
|
[考研] 311求調(diào)劑 +3 | 冬十三 2026-03-13 | 3/150 |
|
|
[考研] 290求調(diào)劑 +3 | ADT 2026-03-13 | 3/150 |
|