[問題] 影像放大之處理

看板C_and_CPP作者 (23歲九局下半)時間14年前 (2009/12/19 23:06), 編輯推噓4(4016)
留言20則, 4人參與, 最新討論串1/2 (看更多)
遇到的問題:這是一個要將灰階raw檔放大的程式, 我是使用"最鄰近點演算法"不過就是跑不出來(我觀念很差) 我知道這程式不完整,因為我接下來也不知如何著手, 希望能有善心人士幫小弟指點迷津,拜託 = = 開發平台: Dev-C++ 有問題的code:不會很長,我全貼上來. #include <stdio.h> #include <stdlib.h> #include <math.h> #define imagesize 512 #define total imagesize*imagesize #define vectorsize 1024 unsigned char image[imagesize][imagesize]; unsigned char vectors[vectornum][vectorsize]; unsigned char Cimage[imagesize][imagesize]; FILE *imagefile,*result; main(zoom) int zoom; { int i,j; unsigned char p1[512][512]; unsigned char p2[512][512]; unsigned char p3[512][512]; unsigned char p4[512][512]; imagefile=fopen("aa.raw","rb"); result=fopen("cc.raw","wb"); for(i=0;i<imagesize;i++) { for(j=0;j<imagesize;j++) { image[i][j]=fgetc(imagefile); } } // transfor image to vector for(i=0;i<imagesize;i++) for(j=0;j<imagesize;j++) { vectors[2*i][2*j]=p1[i][j]; vectors[2*i+1][2*j]=p2[i][j]; vectors[2*i][2*j+1]=p3[i][j]; vectors[2*i+1][2*j+1]=p4[i][j]; } fwrite(image,sizeof(unsigned char), imagesize*imagesize,result); } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.42.203.74

12/19 23:08, , 1F
你要不要先把影像的陣列改成用動態配置啊 =w=
12/19 23:08, 1F

12/20 00:27, , 2F
看到問題描述是"程式跑不出來"就沒有想看的欲望~_~
12/20 00:27, 2F

12/20 00:30, , 3F
編譯有錯??結果不對??程式當掉??描述清楚很困難嗎Orz
12/20 00:30, 3F

12/20 00:31, , 4F
然後code這樣貼, 板友想幫你試還要自己copy->paste幾次
12/20 00:31, 4F

12/20 00:36, , 5F
只能說提問也是一種學問....XD
12/20 00:36, 5F

12/20 00:37, , 6F
屁了一堆, 回幾個點你想想看吧....
12/20 00:37, 6F

12/20 00:38, , 7F
1. 一開始的全域變數那邊, vectornum哪來的??
12/20 00:38, 7F

12/20 00:42, , 8F
2. 你開檔完讀了資料進image[][]裡, 最後又把image[][]
12/20 00:42, 8F

12/20 00:42, , 9F
寫到result去, 那自然是同樣的一個raw沒有放大效果.
12/20 00:42, 9F

12/20 00:43, , 10F
3 第二個迴圈vectors從一群根本沒初始化的p1~p4[][]拿
12/20 00:43, 10F

12/20 00:44, , 11F
資料, 拿完vectors[][](應該存放大後的資料)也沒拿來
12/20 00:44, 11F

12/20 00:44, , 12F
用, 所以那段的code都白寫了....
12/20 00:44, 12F

12/20 00:46, , 13F
要改的主要是第二個迴圈, p1~p4[][]那些根本就沒用也不
12/20 00:46, 13F

12/20 00:47, , 14F
需要, 你只需要直接從image[][]拿data回來就好.
12/20 00:47, 14F

12/20 00:47, , 15F
然後輸出檔案的地方改輸出vectors[][], 並且改設定正
12/20 00:47, 15F

12/20 00:48, , 16F
確的size, 應該就差不多了....Orz
12/20 00:48, 16F

12/20 01:02, , 17F
樓上沒有想看的欲望還回覆這麼多...真是佛心來的 XDDD
12/20 01:02, 17F

12/20 01:05, , 18F
對不起, 小弟我得了看到空間域影像處理和OpenGL不看完就
12/20 01:05, 18F

12/20 01:05, , 19F
會死的病....XDDD
12/20 01:05, 19F

12/20 01:06, , 20F
很感謝回覆小弟問題的大大 我會好好思考的 謝謝^^
12/20 01:06, 20F
文章代碼(AID): #1BBElUnC (C_and_CPP)
文章代碼(AID): #1BBElUnC (C_and_CPP)