三種不同資料型別的Mat

2021-09-25 19:35:33 字數 2666 閱讀 6793

mat image1(high, width, cv_64f);//double型別

mat image2(high, width, cv_8uc1);//uchar型別

mat image3(high, width, cv_8uc3, scalar(b,g,r)); //三通道

image3.at(i , j )[0]=255; //賦值

input.convertto(input_f, cv_32fc1, 1, 0); //轉型別

gaussianblur(input_f, input_f, size(3, 3), 3, 3);

addweighted(valid_edge_image, 1, edge_one, -1, 0.0, edge_one);

cv::mat mz = cv::mat::zeros(cv::size(w,h),cv_8uc1); // 全零矩陣

【或者:mat tmpdata = mat::zeros(h, w, cv_8uc1);//h行w列的全0矩陣】

cv::mat mo = cv::mat::ones(cv::size(w,h),cv_8uc1); // 全1矩陣

【或者:mat tmpdata = mat::ones(h, w, cv_8uc1);//h行w列的全1矩陣】

mat outputimage(272, 400, img.type(), scalar(255, 255, 255)); //高,寬

addweighted(input1, 1, input2, -1, 0.0, output);

rect area(10, 10, 100, 100);

mat img_region = img(area); //rect area [x, y, width, heigth];

mat se = getstructuringelement(morph_rect, size(3, 3));

copymakeborder( srcimg, dstimg, 50,50,50,50, border_constant, 0 );

//copymakeborder( srcimg, dstimg, top, bottom, left, right, border_constant, value );

resize(srcimage, dstimage, size(resize_width, resize_height), 0, 0, inter_linear); //inter_cubic

img = imread(「c:\users\chenqy\desktop\mmm\style2.png」);//讀入

outputimage = mat::zeros(272, 400, img.type()); //高,寬

dstimage = img;

// 橫向拼接,因此cvret第二個引數均設為0

rect = rect(85, 0, dstimage.cols, dstimage.rows); //左上角col和rol,寬,高

dstmat = outputimage(rect);

// 將指定拷貝至目標影象

dstimage.colrange(0, dstimage.cols).copyto(dstmat);

imwrite(out_add, outimage); //儲存

mat imgg = imread("",0);

scalar mean;

scalar dev;

meanstddev(imgg, mean, dev); //計算均值和標準差

float m = mean.val[0]; //均值

float s = dev.val[0]; //標準差

//mat相乘

//歸一化

normalize(image_grad, image_grad, 1, 0, norm_minmax);

//儲存mat為xml,讀取xml為mat

filestorage fs_write(「templete_image.xml」, filestorage::write);

fs_write << 「templete_image」 << templete_image;

fs_write.release();

filestorage fs_read(「templete_image.xml」, filestorage::read);

mat asd;

fs_read[「templete_image」] >> asd;

invert(matrix1, ni, decomp_lu);//求逆矩陣

mat資料型別

rectangle函式是用來繪製乙個矩形框的,通常用在的標記上。

rectangle

(img,

point

(j,i)

,point

(j + img4.cols, i + img4.rows)

,scalar

(255

,255,0

),2,

8);img:被處理的

point

(j,i)代表矩形左上點的座標

point

(j + cols, i + rows)代表矩形右下點的座標【矩形的大小(cols,rows】

scalar:顏色

2代表線條寬度

8是線型,預設取8

資料型別轉換三種方式

自動型別轉換需滿足的的條件 兩種型別必須相容 目標型別大於源型別 例如 int a 7 double b a 強制型別轉換需滿足的的條件 表示範圍大的資料型別要轉換為範圍小的資料型別。例如 double a 7.5 int b int a 說明 強制型別轉換和自動型別裝換適用於八種基本資料型別,而包...

Redis三種特殊資料型別

這個東西可以推算兩地的位置的資訊,比如說兩地的距離,方圓幾里的人 官方文件只給出了如上六個命令 以上是存入相關城市緯度經度資訊,注意這裡前面是緯度後面是經度,不要弄反了,南極和北極無法直接新增 如果兩個位置之間的其中乙個不存在,那麼命令返回空值。指定單位的引數 unit 必須是以下單位的其中乙個 只...

Hive的三種複雜資料型別

hive的複雜資料型別主要分為3類 array map和struct。測試資料 列間用 t 分隔,第二列用逗號分隔。zhangsan chengdu,shanghai,beijing lisi tianjin,taiyuan,chongqing wangwu xian,nanning,beijing...