1、memcpy(unsigned char *C,cv::Mat.data A,,320x240),首先A是圖像完整的,通過copy到C中的時候,再copy到新的cv::Mat 圖像的對象上時,圖像發生失真
memcpy(cv::Mat B.data,unsigned char *C,320x240),保存數據失真問題解決方法
2、cv::Mat src,dst;
? ? ?src.create(cv::Size(320,240),CV_8UC1);
? ? ?dst.create(cv::Size(320,240),CV_8UC1);
? ? unsigned char *C = new(unsigned char *) (320*240)
? ?在進行memcpy()操作之前先判斷src.type() == CV_8UC1;src.channels == 1;
? ?如果上述src.type() == CV_8UC3;src.channels == 3;的話,則拷貝的操作
? memcpy(C,src.data,320*240);或者memcpy(dst.data,src.data,320*240)
的內存copy的src圖像數據就會失真