OpenCV CUDA模塊特征檢測------創建Harris角點檢測器的GPU實現接口cv::cuda::createHarrisCorner

  • 操作系統:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 編程語言:C++11

算法描述

該函數創建一個 基于 Harris 算法的角點響應計算對象,專門用于在 GPU 上進行高效計算。
它返回的是一個 cv::Ptrcv::cuda::CornernessCriteria 類型的對象,可用于后續調用 .compute() 方法對圖像進行角點響應值計算。

函數原型

Ptr<CornernessCriteria> cv::cuda::createHarrisCorner
(int  	srcType,int  	blockSize,int  	ksize,double  	k,int  	borderType = BORDER_REFLECT101 
) 		

參數

  • srcType 輸入源類型。目前僅支持 CV_8UC1 和 CV_32FC1。

  • blockSize 鄰域大小。

  • ksize Sobel 算子的孔徑參數(用于計算梯度)。

  • k Harris 檢測器的自由參數。

  • borderType 像素外推方法(邊界填充方式)。目前僅支持 BORDER_REFLECT101 和 BORDER_REPLICATE。

代碼示例


#include <opencv2/opencv.hpp>
#include <opencv2/cudaimgproc.hpp>
#include <iostream>int main() {// Step 1: 加載灰度圖cv::Mat h_img = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/chessboard.png", cv::IMREAD_GRAYSCALE);if (h_img.empty()) {std::cerr << "Failed to load image!" << std::endl;return -1;}// Step 2: 將圖像上傳到 GPUcv::cuda::GpuMat d_img, d_corners;d_img.upload(h_img);// Step 3: 創建 Harris 角點檢測器int srcType = d_img.type();int blockSize = 3;int ksize = 3;double k = 0.04;cv::Ptr<cv::cuda::CornernessCriteria> criteria = cv::cuda::createHarrisCorner(srcType, blockSize, ksize, k);// Step 4: 執行角點響應計算criteria->compute(d_img, d_corners);// Step 5: 下載結果并顯示cv::Mat h_corners;d_corners.download(h_corners);cv::normalize(h_corners, h_corners, 0, 255, cv::NORM_MINMAX, CV_8U);cv::imshow("original picture", h_img);cv::imshow("Harris Corner Response", h_corners);cv::waitKey(0);return 0;
}

運行結果

在這里插入圖片描述

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

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

相關文章

html文字紅色粗體,閃爍漸變動畫效果

1. 代碼 <!DOCTYPE html> <html lang"zh"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>紅色粗體閃爍文字表格</title><s…

Springboot獨立學院資產管理系統k0o7w(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表 項目功能:財務員,校級管理員,部門,部門管理員,資產類型,資產信息,資產調撥,資產申購,申購入庫,資產出庫,資產報廢,資產維修,資產盤點,維修復審 開題報告內容 基于Spring Boot的獨立學院資產管理系統開題報告 一、選題背景與意義 &#xff08;一&#xff0…

基于javaweb的SpringBoot藥房管理系統設計與實現(源碼+文檔+部署講解)

技術范圍&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容&#xff1a;免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論…

Web前端之隱藏元素方式的區別、Vue循環標簽的時候在同一標簽上隱藏元素的解決辦法、hidden、display、visibility

MENU 標簽區別速覽詳解? v-if? v-show? :style"{ display: ... }"?? :hidden?? :style"{ visibility: ... }" 總結 標簽 <div v-for"item in list" v-if"item.isShow">{{item.name}}</div> <div v-for"it…

Kafka 安裝教程(支持 Windows / Linux / macOS)

一、下載 1、kafka官網下載地址:https://kafka.apache.org/downloads 根據實際情況下載對應的版本 2、JDK的版本最好是17+ JDK下載地址:https://www.oracle.com/java/technologies/javase/jdk17-0-13-later-archive-downloads.html 二、安裝 前置條件 安裝 Java(至少 Jav…

Linux研學-用戶解析

一 root用戶 1 介紹 root是Linux系統中唯一的超級管理員賬戶&#xff0c;擁有系統的最高權限&#xff08;UID0&#xff09;&#xff0c;可執行任何操作&#xff0c;包括修改系統文件、安裝/卸載軟件、管理用戶權限等。 ??如普通用戶無法在根目錄下創建文件&#xff0c;而roo…

設計模式系列(07):建造者模式(Builder)

本文為設計模式系列第7篇&#xff0c;聚焦創建型模式中的建造者模式&#xff0c;涵蓋定義、原理、實際業務場景、優缺點、最佳實踐及詳細代碼示例&#xff0c;適合系統學習與實戰應用。 目錄 1. 模式概述2. 使用場景3. 優缺點分析4. 實際應用案例5. 結構與UML類圖6. 代碼示例7…

HBuilder 發行Android(apk包)全流程指南

一、前言 小程序以其便捷性和輕量性受到越來越多開發者的青睞。HBuilder 作為一款強大的開發工具&#xff0c;為小程序開發提供了極大的便利。本文將詳細介紹如何通過 HBuilder 完成小程序的開發與發行。 二、環境準備 1. 安裝 HBuilder 訪問 DCloud 官方網站&#xff0c;下…

React 18新特性介紹

React 18是React團隊于2022年發布的一個重要版本&#xff0c;它引入了多項改進和新特性&#xff0c;在提升性能的同時也帶來了一些使用上的變化。本文將全面介紹React 18的主要新特性&#xff0c;包括并發渲染、API更新、瀏覽器兼容性等重要內容&#xff0c;并通過代碼示例說明…

設計模式——面向對象設計六大原則

摘要 本文詳細介紹了設計模式中的六大基本原則&#xff0c;包括單一職責原則、開放封閉原則、里氏替換原則、接口隔離原則、依賴倒置原則和合成復用原則。每個原則都通過定義、理解、示例三個部分進行闡述&#xff0c;旨在幫助開發者提高代碼的可維護性和靈活性。通過具體代碼…

使用 So-VITS-SVC 實現明星聲音克隆與視頻音軌替換實戰全流程

本文展示如何使用開源項目 so-vits-svc 實現聲音克隆與視頻音軌替換流程&#xff0c;適用于 AI 音頻工程、聲音合成等學習場景。所述內容僅限技術交流&#xff0c;禁止用于非法用途。 一、項目背景 此項目采用 so-vits-svc 4.1 開源框架&#xff0c;實現了“用明星聲音替換視頻…

【學習記錄】深入解析 AI 交互中的五大核心概念:Prompt、Agent、MCP、Function Calling 與 Tools

&#x1f4cc; 引言 隨著大語言模型&#xff08;LLM&#xff09;的發展&#xff0c;AI 已經不再只是“回答問題”的工具&#xff0c;而是可以主動執行任務、調用外部資源、甚至構建完整工作流的智能系統。 為了更好地理解和使用這些能力&#xff0c;我們需要了解 AI 交互中幾…

紋理壓縮格式優化

?? Unity 項目紋理壓縮格式優化終極指南 ——不同平臺、不同手機型號,如何正確選擇 ?? 什么是紋理壓縮(Texture Compression)? Texture壓縮 = 減小顯存占用,提升加載速度,減輕GPU負擔紋理是游戲中最大資源,占用50%+內存正確壓縮:減少GPU Bandwidth,提高渲染性能錯…

Docker輕松搭建Neo4j+APOC環境

Docker輕松搭建Neo4jAPOC環境 一、簡介二、Docker部署neo4j三、Docker安裝APOC插件四、刪除數據庫/切換數據庫 一、簡介 Neo4j 是一款高性能的 原生圖數據庫&#xff0c;采用 屬性圖模型 存儲數據&#xff0c;支持 Cypher查詢語言&#xff0c;適用于復雜關系數據的存儲和分析。…

NGINX `ngx_stream_core_module` 模塊概覽

一、模塊定位與功能 通用 TCP/UDP 代理 支持同時處理 TCP 和 UDP 流量&#xff0c;透明轉發請求到后端服務器組&#xff08;upstream&#xff09;。可作為四層負載均衡&#xff0c;根據客戶端 IP、權重、最少連接等策略將連接分發給后端。 預讀&#xff08;preread&#xff09…

JVM類加載高階實戰:從雙親委派到彈性架構的設計進化

前言 作為Java開發者&#xff0c;我們都知道JVM的類加載機制遵循"雙親委派"原則。但在實際開發中&#xff0c;特別是在金融支付、插件化架構等場景下&#xff0c;嚴格遵循這個原則反而會成為系統擴展的桎梏。本文將帶你深入理解雙親委派機制的本質&#xff0c;并分享…

MATLAB | 繪圖復刻(十九)| 輕松拿捏 Nature Communications 繪圖

hello這次真的是好久不見了&#xff0c;前段時間確實太忙&#xff0c;后臺都忙到沒時間看&#xff0c;對不住大家的熱情&#xff0c;這期復刻兩個 Nature Communications 繪圖&#xff0c;主要都和弦圖有關&#xff1a; 原圖 1 復刻圖 1 原圖 2 復刻圖 2 這次繪圖使用我自己開…

群暉NAS如何在虛擬機創建飛牛NAS

套件中心下載安裝Virtual Machine Manager 創建虛擬機 配置虛擬機 飛牛官網下載 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群暉NAS如何在虛擬機創建飛牛NAS - 個人信息分享

設計模式(代理設計模式)

代理模式解釋清楚&#xff0c;所以如果想對一個類進行功能上增強而又不改變原來的代碼情況下&#xff0c;那么只需要讓這個類代理類就是我們的順豐&#xff0c;對吧?并行增強就可以了。具體增強什么?在哪方面增強由代理類進行決定。 代碼實現就是使用代理對象代理相關的邏輯…

Flask + ECharts+MYSQL全球貿易數字化大屏

核心功能: 全球貿易熱力圖:展示中國與各國的貿易關系強度 貿易指標卡片:實時顯示貿易總額、投資額等關鍵指標 貿易伙伴排名:展示中國前10大貿易伙伴 貿易類型分布:展示各類商品的貿易占比 全球實時動態:滾動顯示全球貿易、投資等實時事件 技術亮點: 使用WebSocket實現實…