[問題] 讀8bit 512*512bmp圖檔
小弟想把lena的圖片做connect component
寫到後來發現圖片怎樣都會有斜斜奇怪的切線
後來寫一段把圖片分成五層試試看
發現竟然還是有那樣奇怪的切線
這是我讀寫的部份和測試的部份
FILE *fp;
FILE *ans;
unsigned char image[512][512];
unsigned char cc[512][512];
unsigned char head[172];
unsigned char palette[1024];
unsigned char raw_image[512*512];
int color[256]; //紀錄各灰階有多少pixel
int i,j,k;
fp = fopen("Lena.bmp", "rb");
// 讀 bmp 灰階標頭檔
fread(head, 172, 1, fp);
fread(palette, 1024, 1, fp);
// 讀 bmp 影像資料
fread(raw_image, 512*512, 1, fp);
k=0;
for (i=0; i< 512; i++) {
for (j=0; j< 512; j++) {
image[i][j] = raw_image[k];
k++;
}} //讀到二維陣列
for(i=0;i<512;i++){
for (j=0; j< 512; j++) {
if(i<100) image[i][j]=50;
else if(100<i&&i<200) image[i][j]=100;
else if(200<i&&i<300) image[i][j]=150;
else if(300<i&&i<400) image[i][j]=200;
else image[i][j]=250;
}
} //test 把圖片分成五層
k=0;
for (i=0; i< 512; i++) {
for (j=0; j< 512; j++) {
raw_image[k]=image[i][j];
k++;
}
} //寫回raw
ans = fopen("Lena_after.bmp","wb");
fwrite(head, 1, 172, ans);
fwrite(palette,1, 1024, ans);
fwrite(raw_image,1,512*512,ans);
他的左下角有一小塊平行的線好像沒讀到一樣有怪怪的顏色
還有中間左邊有一條垂直的奇怪切線
請問是我讀檔byte算錯或是怎樣的問題嗎:(
希望有高手能解答
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 140.112.251.43
推
10/05 20:12, , 1F
10/05 20:12, 1F
→
10/05 20:13, , 2F
10/05 20:13, 2F
→
10/05 20:13, , 3F
10/05 20:13, 3F
→
10/05 20:14, , 4F
10/05 20:14, 4F
→
10/05 20:14, , 5F
10/05 20:14, 5F
→
10/05 20:15, , 6F
10/05 20:15, 6F
→
10/05 20:15, , 7F
10/05 20:15, 7F
→
10/05 20:15, , 8F
10/05 20:15, 8F
推
10/05 20:18, , 9F
10/05 20:18, 9F
→
10/05 20:22, , 10F
10/05 20:22, 10F
→
10/05 20:22, , 11F
10/05 20:22, 11F
→
10/05 20:24, , 12F
10/05 20:24, 12F
推
10/05 20:24, , 13F
10/05 20:24, 13F
推
10/05 20:35, , 14F
10/05 20:35, 14F
→
10/05 21:30, , 15F
10/05 21:30, 15F
→
10/05 21:30, , 16F
10/05 21:30, 16F
推
10/05 22:08, , 17F
10/05 22:08, 17F
※ 編輯: relaxpl 來自: 140.112.251.43 (10/05 22:15)
推
10/05 22:21, , 18F
10/05 22:21, 18F
→
10/05 22:21, , 19F
10/05 22:21, 19F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章