[問題] 圖片偏移

看板MATLAB作者 (straw man)時間8年前 (2016/06/09 20:23), 編輯推噓0(0017)
留言17則, 3人參與, 最新討論串1/1
大家好: 我嘗試用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://www.ptt.cc/bbs/MATLAB/M.1465475036.A.10A.html

06/10 19:54, , 1F
有傳送端的嗎
06/10 19:54, 1F

06/10 23:12, , 2F
傳送端是寫在FPGA裡 裡面的memory先存好圖片
06/10 23:12, 2F

06/10 23:13, , 3F
然後再用UART傳給電腦
06/10 23:13, 3F

06/10 23:14, , 4F
g大覺得是送端的問題嗎?
06/10 23:14, 4F

06/11 13:36, , 5F
猜是,但我沒玩過FPGA。
06/11 13:36, 5F

06/11 13:45, , 6F
如果是FPGA的問題 那應該不會收到正常的圖片?
06/11 13:45, 6F

06/11 13:47, , 7F
我用過arduino讀sd卡的圖片,用uart透過FT232傳回matlab
06/11 13:47, 7F

06/11 13:47, , 8F
,因為途中有傳錯幾次,所以加入CRC做檢驗。Serial有可
06/11 13:47, 8F

06/11 13:47, , 9F
能傳錯嗎?
06/11 13:47, 9F

06/11 15:06, , 10F
CRC指的是加上parity bit嗎? 之前也有考慮這方式
06/11 15:06, 10F

06/11 15:08, , 11F
但感覺他是偏移掉跟傳錯好像不太相同
06/11 15:08, 11F

06/11 16:35, , 12F
我幫不上忙OAO
06/11 16:35, 12F

06/11 17:32, , 13F
感謝g大的意見Orz
06/11 17:32, 13F

06/13 00:57, , 14F
MATLAB是列(row)優先, C語言行(column)優先
06/13 00:57, 14F

06/13 01:01, , 15F
應該是1維轉2維排列順序搞錯
06/13 01:01, 15F

06/13 20:01, , 16F
不過圖片有時候是收到正確的結果
06/13 20:01, 16F

06/13 20:02, , 17F
如果是轉換錯誤的話應該不會出現正常的情況?
06/13 20:02, 17F
文章代碼(AID): #1NML_S4A (MATLAB)