Opencv中的Mat檔案在matlab開啟

2021-08-02 06:12:13 字數 1216 閱讀 9034

本文感覺繞了一圈,但是不寫下來不開心詳細鏈結

// in c++

filestorage fs_xy0("xy0.xml", filestorage::write); // xy0.xml 是 儲存的檔案

fs_xy0 << "prob_idx" << xy[0]; // 將 mat xy 重定向到 xy0中

fs_xy0.release();

原因,matlab自帶的 xmlread,反正我的版本看不了介紹。工作區(看變數值的地方)也打不開,也看不了變數值。上面這個函式,把xml開啟成乙個struct。

從struct讀取資料

clear;

x = xml2struct( 'xy0.xml' );

x_str = x.

opencv_storage.

prob_idx.

data.text;

% 這裡是***的部分

% x_str是乙個字串,也就是乙個m_by_1的char變數

% str2double | str2num 可能沒法讀取z

% 因為z的格式沒按要求訪問

z=strsplit(x_str); % 按空格劃分成cell

fori = 1: length(z); cao(i)=str2double(cell2mat(z(i))); end

%***的操作,每個cell

%轉成mat,在轉成double

%cellfun(@str2num, cell)

cao(1) = ; % 第乙個資料是空的,刪除。看個人情況

pic = reshape(cao, str2num(x.

opencv_storage.

prob_idx.

rows.text), str2num(x.

opencv_storage.

prob_idx.

cols.text)); % 將data按 row,col reshape

上文總結:

憂傷,想把opencv裡的******flow用在matlab上。把flow(畫素偏移)這個cv::mat儲存為xml,然後用matlab開啟。 :( 開啟了,還不如原來的siftflow,雖然沒有調引數。

感覺繞路了,opencv好像可以在matlab開啟。實在不行還有mex。

opencv中的Mat詳解

1.初始化 mat the basic image container 最最基本的函式,所有在opencv中都是用mat形式來操作的。初始化乙個mat mat a,c a imread ar 1 imread color mat b a 複製a給b c a 賦值運算 mat d a,rect 10,...

opencv中Mat的屬性

類似cv 8uc1是mat的型別,其定義為type cv 位數 資料型別 通道數 cv 8uc1 0 cv 8uc2 8 cv 8uc3 16 cv 8uc4 24 depth 0 cv 8sc1 1 cv 8sc2 9 cv 8sc3 17 cv 8sc4 25 depth 1 cv 16uc1 ...

opencv中的Mat結構操作

從檔案中讀入一副影象 mat img imread filename 如果你讀入乙個jpg檔案,預設情況下將建立乙個3通道影象。如果你需要灰度 單通道 影象,使用如下語句 mat img imread filename,0 將影象儲存到乙個檔案 mat img imwrite filename 要獲...