[問題] 圖片偏移

作者: jb679123 (straw man)   2016-06-09 20:23:53
大家好:
我嘗試用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
作者: gR7P4zXH (tpn7gpdx)   2016-06-10 19:54:00
有傳送端的嗎
作者: jb679123 (straw man)   2016-06-10 23:12:00
傳送端是寫在FPGA裡 裡面的memory先存好圖片然後再用UART傳給電腦g大覺得是送端的問題嗎?
作者: gR7P4zXH (tpn7gpdx)   2016-06-11 13:36:00
猜是,但我沒玩過FPGA。
作者: jb679123 (straw man)   2016-06-11 13:45:00
如果是FPGA的問題 那應該不會收到正常的圖片?
作者: gR7P4zXH (tpn7gpdx)   2016-06-11 13:47:00
我用過arduino讀sd卡的圖片,用uart透過FT232傳回matlab,因為途中有傳錯幾次,所以加入CRC做檢驗。Serial有可能傳錯嗎?
作者: jb679123 (straw man)   2016-06-11 15:06:00
CRC指的是加上parity bit嗎? 之前也有考慮這方式但感覺他是偏移掉跟傳錯好像不太相同
作者: gR7P4zXH (tpn7gpdx)   2016-06-11 16:35:00
我幫不上忙OAO
作者: jb679123 (straw man)   2016-06-11 17:32:00
感謝g大的意見Orz
作者: ryanwang (irene)   2016-06-13 00:57:00
MATLAB是列(row)優先, C語言行(column)優先應該是1維轉2維排列順序搞錯
作者: jb679123 (straw man)   2016-06-13 20:01:00
不過圖片有時候是收到正確的結果如果是轉換錯誤的話應該不會出現正常的情況?

Links booklink

Contact Us: admin [ a t ] ucptt.com