[問題] 影像區塊存取
想請教各位一個關於圖片區塊存取的問題
目前我有一張圖片,因為整張圖直接做速度會太慢(我已經使用指標)
圖片是400*300的bmp,我將他切成四個部份做存取
目前有我做了兩種處理,產生的結果都不一樣,所以我不清楚哪一個才是正確的
所以想請教一下版友
以下是第一種寫法:
unsafe
{
byte *p = (byte *)bmData.Scan0.ToPointer();
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 400; j++)
{
str += p[0].ToString();
}
p += 3;
}
......
......
......
(同樣的Code重複三次,總共四段)
}
第二種寫法:
unsafe
{
byte*[] p = new byte*[4];
p[0] = (byte *)bmData.Scan0.ToPointer();
for (int i = 1; i < 4; i++)
{
p[i] = p[i -1] + 90000
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 400; j++)
{
str0 += (*p[0]).ToString();
}
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 400; j++)
{
str1 += (*p[1]).ToString();
}
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 400; j++)
{
str2 += (*p[2]).ToString();
}
}
for (int i = 0; i < 30; i++)
{
for (int j = 0; j < 400; j++)
{
str3 += (*p[3]).ToString();
}
}
}
第二種作法是由第一種改良而來
因為考慮到在Duo Core的主機上可以減少code dependence
不過兩種結果跑出來卻不太一樣,讓我覺得應該是某一個方法錯了
但是不知道是第一種還是第二種
還請各位幫忙指正一下,謝謝
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 122.118.0.142
推
04/10 21:57, , 1F
04/10 21:57, 1F
→
04/10 22:15, , 2F
04/10 22:15, 2F