作者jb679123 (straw man)
看板MATLAB
標題[問題] 圖片偏移
時間Thu Jun 9 20:23:53 2016
大家好:
我嘗試用matlab建立serial port來接收圖片(UART傳輸)
但收到的圖片有時會跑掉 有時是正常的結果
如圖所示:
http://imgur.com/tbPd1E1
左邊是正常的情況 右邊是偏掉的情況
如果往左偏掉的話,原本圖最左邊的部分會跑到右邊
下面是我的程式碼:
clear all
close all
s = serial('COM3','BaudRate',115200, 'Parity',
'none','DataBits',8,'StopBits',1);
s.InputBufferSize=200000;
s.timeout=20;
fopen(s);
flushinput(s);
D=fread(s,[200,200]);
E=fread(s,[200,200]);
F=fread(s,[200,200]);
image_RGB(:,:,1)=D;
image_RGB(:,:,2)=E;
image_RGB(:,:,3)=F;
imwrite(image_RGB/256,'myimage.jpg','jpg');
imshow(image_RGB/256);
fclose(s);
fclose all;
不知道哪邊還有改善的部分?
還請大家不吝指教 Orz
謝謝X
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.123.103.106
※ 文章網址: https://webptt.com/m.aspx?n=bbs/MATLAB/M.1465475036.A.10A.html
1F:→ gR7P4zXH: 有傳送端的嗎 06/10 19:54
2F:→ jb679123: 傳送端是寫在FPGA裡 裡面的memory先存好圖片 06/10 23:12
3F:→ jb679123: 然後再用UART傳給電腦 06/10 23:13
4F:→ jb679123: g大覺得是送端的問題嗎? 06/10 23:14
5F:→ gR7P4zXH: 猜是,但我沒玩過FPGA。 06/11 13:36
6F:→ jb679123: 如果是FPGA的問題 那應該不會收到正常的圖片? 06/11 13:45
7F:→ gR7P4zXH: 我用過arduino讀sd卡的圖片,用uart透過FT232傳回matlab 06/11 13:47
8F:→ gR7P4zXH: ,因為途中有傳錯幾次,所以加入CRC做檢驗。Serial有可 06/11 13:47
9F:→ gR7P4zXH: 能傳錯嗎? 06/11 13:47
10F:→ jb679123: CRC指的是加上parity bit嗎? 之前也有考慮這方式 06/11 15:06
11F:→ jb679123: 但感覺他是偏移掉跟傳錯好像不太相同 06/11 15:08
12F:→ gR7P4zXH: 我幫不上忙OAO 06/11 16:35
13F:→ jb679123: 感謝g大的意見Orz 06/11 17:32
14F:→ ryanwang: MATLAB是列(row)優先, C語言行(column)優先 06/13 00:57
15F:→ ryanwang: 應該是1維轉2維排列順序搞錯 06/13 01:01
16F:→ jb679123: 不過圖片有時候是收到正確的結果 06/13 20:01
17F:→ jb679123: 如果是轉換錯誤的話應該不會出現正常的情況? 06/13 20:02