OpenCV 基礎知識總結

學習網站

  • https://zhuanlan.zhihu.com/p/483604320

命名空間

  • using namespace cv;

Mat

  • 作用
    • 創建圖像(矩陣)
  • 格式
Mat image; //創建一個空圖像image,大小為0
Mat image(100,100,CV_8U); //指定矩陣大小(矩陣行數/列數)、數據類型
Mat image(100,100,CV_8U, 100); //指定矩陣大小、數據類型、初始值
Mat image(100,100,CV_8U, Scalar(100)); //對于灰度圖像:可以直接給出初始值,也可以使用Scalar()
Mat image(100,100,CV_8UC3, Scalar(100,100,100)); //對于三通道圖像,使用Scalar()// 數據類型
// CV_8U:8位無符號型(0~255),即灰度圖像
// CV_8UC3:三通道8位無符號型。三通道指:B(藍)G(綠)R(紅)。
  • 擴展
image.rows //獲取圖像的高度,行數
image.cols //獲取圖像的寬度,列數
image.channels() //獲取圖像的通道數,彩色圖=3,灰度圖=1;
image.size //獲取圖像的尺寸,行*列;
image.empty())  //檢測image有無數據,無數據返回“真”

imread

  • 格式
    • imread(圖像路徑, 圖像形式);
  • 示例
image = imread("1.jpg", IMREAD_COLOR);
image = imread("1.jpg", 1); 
// 參數說明
IMREAD_COLOR //(1) 加載彩色圖像(默認加載形式)
IMREAD_GRAYSCALE //(0) 加載灰度模式圖像
IMREAD_UNCHANGED //(-1) 加載圖像,包括alpha通道

imwrite

  • 格式
    • imwrite(保存圖像名稱及格式,圖像名稱)
  • 示例
imwrite("1.png", image); //保存圖像為png格式,文件名稱為1

imshow

  • 格式
    • imshow(窗口名稱,圖像名稱)
  • 示例
namedWindow("IMAGE");  //創建顯示窗口。不加這行代碼,也能顯示,默認窗口大小不能改變
imshow("IMAGE", image);  //在窗口顯示圖像

cvtColor

NV12轉RGB

  • 示例
cv::cvtColor(SrcYUV, RGBImage,  cv::COLOR_YUV2RGB_NV12)

I420轉RGB

  • 示例
cv::cvtColor(SrcYUV, RGBImage, cv::COLOR_YUV2RGB_I420)

rectangle

  • 作用
    • 繪制一個矩形輪廓或一個填充矩形,其兩個相對的角是pt1和pt2
  • 示例
cv::rectangle(image, cv::Point(100, 150), cv::Point(250, 300), cv::Scalar(0, 0, 255),4);

circle

  • 作用
    • 在圖像上繪制圓
  • 示例
cv::circle(image, cv::Point(417, 143), 95, 0, 3);    //參數:圖片、圓心、半徑、顏色、輪廓厚度

putText

  • 作用
    • 在圖像上寫入文本
  • 示例
cv::putText(image, "This is a dog", cv::Point(300, 261), cv::FONT_HERSHEY_PLAIN, 2.0, 255, 3);  //參數:圖片、文本內容、文本起始位置、字體類型、字體大小、字體顏色、文本厚度

Rect

  • 作用
    • 定義一個感興趣區域
  • 示例
Mat imageROI(image, Rect(0,0,10,10));  //定義感興趣區域

waitKey

  • 示例
waitKey(0); //暫停,保持圖像顯示,等待按鍵結束

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/95355.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/95355.shtml
英文地址,請注明出處:http://en.pswp.cn/web/95355.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C#基礎(⑦user32.dll)

我們來詳細學習如何使用 user32.dll,它是 Windows 系統中負責用戶界面交互的核心 DLL,包含窗口管理、消息處理、鍵盤鼠標輸入等功能。下面從基礎到進階,一步一步教你調用其中的常用函數。在 C# 中調用 user32.dll 需要使用 DllImport 特性&am…

Markdown格式.md文件的編輯預覽使用

推薦工具Visual Studio Code (VS Code) - 強烈推薦特點:微軟出品,免費、開源、跨平臺(Windows, macOS, Linux)。擁有海量插件市場。編輯體驗:安裝 Markdown All in One 等插件后,可以獲得語法高亮、實時預覽…

TypeScript:unknown 類型

作為前端開發工程師,在 TypeScript 中使用 unknown 類型是提升類型安全的關鍵實踐。下面我會結合實際開發場景詳細講解其特性和價值。unknown 核心特性1.類型安全的頂級類型與 any 類似,可接受任何類型的賦值:let userInput: unknown; userIn…

2025 批量下載hasmart所有知乎回答,文章和想法,導出txt,html和pdf

之前分享過文章2025 一鍵批量下載備份知乎回答/文章/想法/專欄/視頻/收藏夾,導出txt,html和 pdf ,今天繼續下載hasmart這個號的所有知乎回答 下載的知乎回答目錄,包含發布時間和標題,點擊可跳轉對應回答。 2019年發布…

mapbox高階,結合threejs(threebox)添加管道,實現管道流動效果

????? 主頁: gis分享者 ????? 感謝各位大佬 點贊?? 收藏? 留言?? 加關注?! ????? 收錄于專欄:mapbox 從入門到精通 文章目錄 一、??前言 1.1 ??mapboxgl.Map 地圖對象 1.2 ??mapboxgl.Map style屬性 1.3 ??threebox add加載網格對象 二、??…

語音識別后處理——如何語音斷句加上標點、順滑、ITN等

基本流程 基于cpu的計算: 前往intel官網下載libmkl相關的庫:libmkl_core.a、libmkl_gf_lp64.a、libmkl_sequential.a # 靜默安裝 ./intel-onemkl-2025.2.0.629_offline.sh -a -s --eula accept默認安裝目錄:/opt/intel/oneapi libmkl相關的…

[吾愛出品] 圖片轉換王 v1.01 - 多格式支持 / 支持pds、Ai格式

[吾愛出品] 圖片轉換王 多格式支持 鏈接:https://pan.xunlei.com/s/VOZ81aeES9JDqlcvXPKYlxwqA1?pwdni9b# 圖片轉換王」是一款專為設計師、自媒體從業者及普通用戶打造的專業圖片格式轉換工具,秉持綠色便攜理念,無需繁瑣安裝步驟&#xf…

GitLab 18.3 正式發布,更新多項 DevOps、CI/CD 功能【一】

沿襲我們的月度發布傳統,極狐GitLab 發布了 18.3 版本,該版本帶來了通過直接轉移進行遷移、CI/CD 作業令牌的細粒度權限控制、自定義管理員角色、Kubernetes 1.33 支持、通過 API 讓流水線執行策略訪問 CI/CD 配置等幾十個重點功能的改進。下面是對部分重…

【macOS】垃圾箱中文件無法清理的--特殊方法

【macOS】垃圾箱中文件無法清理的特殊方法直接拖拽到 Beyond Compare App中,刪除時,選擇以下選項即可徹底刪除。1.在macOS桌面,將垃圾箱打開2.將垃圾文件和文件夾,拖拽到Beyond Compare界面3.選中待刪除的文件和文件夾如上圖。4.鼠…

Python UV 管理如何使用鏡像源安裝 Python

uv python install [版本號] --mirrorhttps://github.com/astral-sh/python-build-standalone/releases/download/這是默認情況下 uv python 安裝命令,命令會找到 astral 公司在 Github 上的存儲庫,然后進行下載。我們只需要為 mirror 增加任意 Github 鏡…

SPI片選踩坑實錄(硬件片選和軟件片選)

SPI(Serial Peripheral Interface,串行外設接口)的片選信號(Chip Select,簡稱 CS 或 SS,即 Slave Select)是 SPI 通信中用于選擇從設備的關鍵控制信號,其作用是在多從設備的 SPI 總線…

從理論到RTL,實戰實現高可靠ECC校驗(附完整開源代碼/腳本)(3) RTL實現實戰

第二部分:ECC (30, 24)RTL實現實戰 - 精雕細琢的硬件衛士 理論是基石,實現是關鍵。本部分將 手把手構建參數化、可綜合、高可靠的ECC編解碼器 。本部分將以MIPI 協議中Packet Header 用到的ECC(30,24) 為例…

揭密設計模式:像搭樂高一樣構建功能的裝飾器模式

揭密設計模式:像搭樂高一樣構建功能的裝飾器模式 在軟件開發中,我們常常會遇到一個問題:如何給一個對象動態地添加新功能,同時又不想修改它的代碼?如果直接在原有類上修修補補,代碼會變得臃腫復雜&#xff…

【Vue】前端 vue2項目搭建入門級(二)

本文不同于【Vue】前端 vue2項目搭建入門級(一),本文創建vue2項目方式是一鍵創建vue2 項目,不需要自己配置。1.cmd進入根目錄,輸入vue create project(vue create 項目名)創建一個project的項目…

基于SQLite索引的智能圖片壓縮存儲系統設計與實現

摘要 本文介紹一種基于SQLite索引的智能圖片壓縮存儲系統,通過融合圖像質量壓縮與數據壓縮技術,實現60-80%的壓縮率,較傳統方法壓縮效率提升4-5倍。系統采用“大文件存儲索引數據庫”架構,針對性解決海量圖片數據遷移與存儲中的核…

【一張圖看懂Kafka消息隊列架構】

一張圖看懂Kafka消息隊列架構Kafka架構全景圖ApacheKafka作為當今最流行的分布式消息隊列系統,其架構設計精巧而高效。通過一張典型的Kafka架構圖,我們可以清晰地看到幾個核心組件:生產者(Producer)、消費者(Consumer)、主題(Topic)、分區(Pa…

計算機三級嵌入式填空題——真題庫(24)原題附答案速記

1.表征數字音頻每秒鐘數據量的參數稱為波形聲音的__碼率__。CD音樂的聲音信號的采樣率約為44kHz,量化位數為16位,采用雙聲道,則該參數的值為__1408__kb/s。(碼率取樣頻率*量化位數*聲道數44kHz*16*21408kb/s)2.利用載波…

Gradle vs. Maven,Java 構建工具該用哪個?

Java構建工具的甜咸粽子之爭,就是 Gradle 和 Maven 該用哪個? 隨心所欲的手動擋 vs. 穩如老狗的自動擋 Maven用的是pom.xml。很多人一聽XML就頭大,覺得又臭又長。但換個角度想,XML的缺點正是它最大的優點:死板、規范、…

將Markdown文檔輸出成Word格式

大家好!今天想和大家分享一個技術文檔格式轉換的小故事。有個朋友在軟件行業從事文檔工作,她們的手冊是用Markdown編寫的,使用Facebook的Docsaurus框架,在線瀏覽很方便,但輸出Word格式卻很不方便,問我是否有…

COMSOL基于Voronoi毛細管及多邊形骨料ITZ的微介觀混凝土水分擴散模型

本案例是通過COMSOL對論文An innovative method for mesoscale modelling of moisture diffusion in concrete(https://doi.org/10.1016/j.cemconcomp.2024.105836)中Voronoi毛細管、多邊形骨料、ITZ、水泥漿體多相材料的幾何模型復現。 其中論文中的混…