opencv卷積運算函式filter2D

2021-10-02 09:25:08 字數 1119 閱讀 1998

函式介紹:

saturate_cast      處理數值的溢位問題

引數:要處理的資料型別

cv::saturate_cast這裡將資料處理成uchar型別   小於0返回0    大於255返回255    0<=引數<=255返回引數

#include "cmainwindow.h"

#include #include #include cmainwindow::cmainwindow(qwidget *parent)

: qmainwindow(parent)

void cmainwindow::onbtnclick()

cv::imshow("src image", imagesrc);

cv::mat imagedst(imagesrc.size(), imagesrc.type());

//增強影象的模版

cv::mat kernel = (cv::mat_(3, 3) << 0, -1, 0, -1, 5, -1, 0, -1, 0);

//進行卷積運算

cv::filter2d(imagesrc, imagedst, imagesrc.depth(), kernel);

cv::imshow("dest image", imagedst);

//自己實現

//mat儲存的列數 rgb為例 乙個影象的畫素為 imagesrc.rows * imagesrc.cols 乙個畫素點由rgb三個255組成

int ncols = imagesrc.cols * imagesrc.channels();

//mat儲存的行數

int nrows = imagesrc.rows;

cv::mat mymat = cv::mat::zeros(imagesrc.size(), imagesrc.type());

int noffsetx = imagesrc.channels();

//從第2行開始 迴圈到倒數第二行

for (int nrow = 1; nrow < nrows - 1; nrow++) }

cv::imshow("my image", mymat);

}

OpenCV 卷積邊緣

在使用卷積處理影象時,不免會因為卷積的大小而導致影象的邊緣畫素無法得到處理。此時就需要確定邊緣處理的設定引數。border default 通過邊緣畫素反向映象 border replicate 邊緣畫素的延長 border wrap 取對邊畫素點,類似於複製很多張影象平鋪在一起 border co...

快速卷積運算 分塊卷積運算

對於實時系統來說,如果兩個較長的序列做卷積運算,等待資料準備好需要較長的時間,會增加系統的處理時延。並且卷積運算的計算複雜度與序列的長度為正相關。因此,我們考慮將長序列分割為若干個短序列,將長序列的卷積運算轉換為短序列之間的運算。一般會有如下兩種情況 1 對於兩個序列 並且 可以將序列 fori 0...

卷積運算 卷積類

softmax 將實數值轉換為概率值 使用keras介面如何操作 import 匯入模組,每次使用模組中的函式都要是定是哪個模組。from import 匯入模組,每次使用模組中的函式,直接使用函式就可以了 注因為已經知道該函式是那個模組中的了。import tensorflow as tf fro...