溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

C++ OpenCV進(jìn)行圖像銳化的方法

發(fā)布時(shí)間:2024-08-26 18:19:39 來源:億速云 閱讀:98 作者:小樊 欄目:編程語言

在C++中,使用OpenCV庫進(jìn)行圖像銳化的常用方法是通過卷積操作實(shí)現(xiàn)的

#include <opencv2/opencv.hpp>
#include<iostream>

using namespace cv;
using namespace std;

int main(int argc, char** argv) {
    // 讀取輸入圖像
    Mat input_image = imread("input.jpg", IMREAD_COLOR);

    if (input_image.empty()) {
        cout << "無法打開或找到輸入圖像"<< endl;
        return -1;
    }

    // 創(chuàng)建銳化核
    Mat sharpen_kernel = (Mat_<float>(3, 3)<<
        0, -1, 0,
       -1, 5, -1,
        0, -1, 0);

    // 初始化輸出圖像
    Mat output_image = Mat::zeros(input_image.size(), input_image.type());

    // 對(duì)輸入圖像進(jìn)行卷積操作
    filter2D(input_image, output_image, -1, sharpen_kernel);

    // 顯示原始圖像和銳化后的圖像
    imshow("Input Image", input_image);
    imshow("Sharpened Image", output_image);

    // 等待按鍵,然后關(guān)閉所有窗口
    waitKey(0);
    destroyAllWindows();

    return 0;
}

這個(gè)示例首先讀取一張名為“input.jpg”的圖像。然后,我們創(chuàng)建一個(gè)銳化核,該核定義了卷積操作的權(quán)重。接下來,我們使用filter2D()函數(shù)對(duì)輸入圖像進(jìn)行卷積操作,并將結(jié)果存儲(chǔ)在output_image中。最后,我們顯示原始圖像和銳化后的圖像,并等待用戶按鍵以關(guān)閉窗口。

請(qǐng)注意,這個(gè)示例僅提供了一種簡(jiǎn)單的圖像銳化方法。實(shí)際應(yīng)用中可能需要根據(jù)具體情況調(diào)整銳化核的參數(shù)或使用其他更復(fù)雜的銳化算法。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

c++
AI