中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

OpenCV C++實現圖像壓縮與解壓

發布時間:2024-08-26 19:35:46 來源:億速云 閱讀:115 作者:小樊 欄目:編程語言

OpenCV(開源計算機視覺庫)是一個用于處理圖像和視頻的開源庫

首先,確保已經安裝了OpenCV庫。在Ubuntu系統上,可以使用以下命令安裝:

sudo apt-get install libopencv-dev

接下來,我們將創建一個C++程序來實現圖像壓縮和解壓。

  1. 包含必要的頭文件:
#include<iostream>
#include <opencv2/opencv.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
  1. 定義一個函數來執行圖像壓縮:
void compressImage(const cv::Mat &inputImage, cv::Mat &outputImage, int quality) {
    std::vector<int> compression_params;
    compression_params.push_back(cv::IMWRITE_JPEG_QUALITY);
    compression_params.push_back(quality);
    cv::imencode(".jpg", inputImage, outputImage, compression_params);
}

這個函數接受輸入圖像、輸出圖像和壓縮質量作為參數。壓縮質量是一個介于0到100之間的整數,其中100表示最高質量。

  1. 定義一個函數來執行圖像解壓:
void decompressImage(const cv::Mat &inputImage, cv::Mat &outputImage) {
    outputImage = cv::imdecode(inputImage, cv::IMREAD_COLOR);
}

這個函數接受輸入圖像和輸出圖像作為參數。它使用cv::imdecode函數將壓縮后的圖像解壓回原始格式。

  1. 在主函數中調用這些函數:
int main() {
    // 讀取輸入圖像
    cv::Mat inputImage = cv::imread("input.jpg");

    // 壓縮圖像
    cv::Mat compressedImage;
    compressImage(inputImage, compressedImage, 50);

    // 解壓圖像
    cv::Mat decompressedImage;
    decompressImage(compressedImage, decompressedImage);

    // 顯示原始圖像和解壓后的圖像
    cv::imshow("Original Image", inputImage);
    cv::imshow("Decompressed Image", decompressedImage);

    // 等待按鍵,然后退出
    cv::waitKey(0);
    return 0;
}

這個程序首先讀取名為"input.jpg"的輸入圖像,然后調用compressImage函數將其壓縮為JPEG格式。接下來,它調用decompressImage函數將壓縮后的圖像解壓回原始格式。最后,它顯示原始圖像和解壓后的圖像,并等待用戶按鍵。

注意:這個示例僅適用于JPEG格式的圖像。如果要處理其他格式的圖像,需要相應地修改compressImagedecompressImage函數。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

东明县| 西城区| 西乌| 临泉县| 柳河县| 荆州市| 贡觉县| 自治县| 塔城市| 宁乡县| 监利县| 昂仁县| 荆门市| 镇巴县| 土默特左旗| 嘉义县| 武陟县| 林周县| 盐山县| 普安县| 库尔勒市| 芜湖市| 宁国市| 应城市| 清涧县| 荃湾区| 南涧| 青海省| 陕西省| 祥云县| 资中县| 义马市| 舒城县| 克什克腾旗| 绍兴市| 乌恰县| 洞口县| 滕州市| 阳泉市| 宣汉县| 松江区|