OpenCV CUDA 模塊中在 GPU 上對圖像或矩陣進行 翻轉(鏡像)操作的一個函數 flip()

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

算法描述

cv::cuda::flip 是 OpenCV 的 CUDA 模塊中的一個函數,用于在 GPU 上對圖像或矩陣進行 翻轉(鏡像)操作。它類似于 CPU 版本的 cv::flip,但運行在 GPU 上,適用于 cv::cuda::GpuMat 數據。

函數原型

void cv::cuda::flip
(InputArray src,OutputArray dst,int flipCode,Stream& stream = Stream::Null()
)

參數

參數名類型描述

|src I|nputArray |輸入圖像(可以是 cv::Mat 或 cv::cuda::GpuMat)。
|dst |OutputArray |輸出圖像(與輸入類型一致,通常為 cv::cuda::GpuMat)。
|flipCode |int |翻轉方式,見下文說明。
|stream |Stream& |CUDA 流對象,用于異步執行。默認為 Stream::Null(),即同步執行。

功能描述

該函數將輸入圖像按照指定方向進行翻轉:

  • 水平翻轉(鏡像)
  • 垂直翻轉
  • 同時水平和垂直翻轉

常用于圖像增強、數據增強、預處理等場景。
翻轉方式 (flipCode:)

flipCode 值含義
0垂直翻轉(上下翻轉
> 0水平翻轉(左右翻轉)
< 0同時水平和垂直翻轉

等價于 CPU 版本的翻轉規則。

示例代碼

#include <opencv2/opencv.hpp>
#include <opencv2/cudaimgproc.hpp> // 必須包含這個頭文件才能使用 cuda::flipint main() {// 創建測試圖像(CPU)cv::Mat h_src = (cv::Mat_<uchar>(3, 4) <<1, 2, 3, 4,5, 6, 7, 8,9, 10, 11, 12);std::cout << "Original:\n" << h_src << std::endl;// 上傳到 GPUcv::cuda::GpuMat d_src;d_src.upload(h_src);// 創建輸出 GPU 圖像cv::cuda::GpuMat d_dst;// 執行翻轉操作:水平翻轉int flipCode = 1; // 水平翻轉cv::cuda::flip(d_src, d_dst, flipCode);// 下載回 CPU 并顯示結果cv::Mat h_dst;d_dst.download(h_dst);std::cout << "Flipped (horizontal):\n" << h_dst << std::endl;return 0;
}

輸出示例(水平翻轉):

Original:
[  1,   2,   3,   4;5,   6,   7,   8;9,  10,  11,  12]Flipped (horizontal):
[  4,   3,   2,   1;8,   7,   6,   5;12,  11,  10,   9]

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

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

相關文章

shell腳本實現docker運行鏡像掛載

根據本文腳本展示內容可以實現多種容器掛載 演示nginx掛載 創建掛載目錄 mkdir -p /data/nginx/{conf,html,logs} 參數含義&#xff1a; docker run -d --name 給運行的鏡像取名 -v /宿主機/目錄:/容器內/目錄 鏡像名 示例&#xff1a; docker啟動nginx&#xff08;當…

WiseAD:基于視覺-語言模型的知識增強型端到端自動駕駛——論文閱讀

《WiseAD: Knowledge Augmented End-to-End Autonomous Driving with Vision-Language Model》2024年12月發表&#xff0c;來自新加坡國立和浙大的論文。 在快速發展的視覺語言模型&#xff08;VLM&#xff09;中&#xff0c;一般人類知識和令人印象深刻的邏輯推理能力的出現&a…

NestJS 知識框架

一、核心概念 1. 架構基礎 基于 Express/Fastify 的 Node.js 框架 采用模塊化設計 使用 TypeScript 構建&#xff08;也支持 JavaScript&#xff09; 借鑒 Angular 的設計理念 2. 主要組件 模塊 (Module): 應用的基本組織單元 控制器 (Controller): 處理 HTTP 請求 服務…

深入理解 Istio v1.25.2

要深入理解 Istio 的最新版本&#xff08;截至 2025 年 5 月&#xff0c;最新版本為 1.25.2&#xff0c;發布Iweb:1?&#xff09;源碼&#xff0c;我們可以通過分析其核心組件和代碼結構來加深對 Istio 的理解。以下是對 Istio 源碼的解讀&#xff0c;結合其架構和功能&#x…

星際籃球爭霸賽/MVP爭奪戰 - 華為OD機試真題(A卷、Java題解)

華為OD機試題庫《C》限時優惠 9.9 華為OD機試題庫《Python》限時優惠 9.9 華為OD機試題庫《JavaScript》限時優惠 9.9 針對刷題難&#xff0c;效率慢&#xff0c;我們提供一對一算法輔導&#xff0c; 針對個人情況定制化的提高計劃&#xff08;全稱1V1效率更高&#xff09;。 看…

Kubernetes etcd 故障恢復(1)

1.查看集群狀態 獲取主節點和故障節點id ETCDCTL_API3 ./etcdctl --cacert/etc/kubernetes/ssl/new-ca.pem --cert/etc/kubernetes/ssl/etcd.pem --key/etc/kubernetes/ssl/etcd-key.pem --endpoints"https://192.168.7.132:2379,https://192.168.7.134:2379,https://19…

在UI原型設計中,低、高保真原型圖有什么區別?

在數字產品開發中&#xff0c;原型&#xff08;Prototype&#xff09; 是連接創意與落地的橋梁。它通過可視化的方式驗證功能、交互與用戶體驗&#xff0c;避免開發資源浪費。而低保真&#xff08;Lo-Fi&#xff09;與高保真&#xff08;Hi-Fi&#xff09;原型&#xff0c;則是…

使用FastAPI和React以及MongoDB構建全棧Web應用02 前言

Who this book is for 本書適合哪些人閱讀 This book is designed for web developers who aspire to build robust, scalable, and efficient web applications. It caters to a broad spectrum of developers, from those with foundational knowledge to experienced prof…

linux下minio的進程管理腳本

準備工作&#xff1a; 參考鏈接&#xff1a; Deploy MinIO: Single-Node Single-Drive — MinIO Object Storage for Linux 下載&#xff1a; wget https://dl.min.io/server/minio/release/linux-amd64/minio kill-app.sh #!/bin/bash # 文件名&#xff1a; kill-app.sh…

【Linux】編譯安裝 opencv 并鏈接到 VSCode

一、背景 最近打算把現有的一個 python 程序用 c 重寫&#xff0c;進一步提升性能。編輯器使用 VSCode&#xff0c;三方庫需要用到 opencv&#xff0c;要進行編譯安裝。 二、編譯安裝 opencv 1. 更新源 sudo apt update && sudo apt upgrade 2. 安裝依賴庫 安裝編…

Ubuntu 安裝 HAProxy

HAProxy 是什么 HAProxy&#xff08;High Availability Proxy&#xff09; 是一個 高性能、高可用的 TCP 和 HTTP 負載均衡器與代理服務器。 HAProxy 的特點 特性說明支持協議HTTP、HTTPS、TCP高性能使用 C 語言編寫&#xff0c;性能極高高可用與 Keepalived 配合可實現主備健…

Mysql--基礎知識點--91.2--processlist

在 MySQL 中&#xff0c;SHOW PROCESSLIST 是一個常用命令&#xff0c;用于查看當前數據庫服務器上所有正在運行的線程&#xff08;進程&#xff09;信息。以下是關鍵點說明&#xff1a; 1. 命令用法 SHOW FULL PROCESSLIST;輸出字段&#xff1a; 列名含義Id線程唯一標識符&am…

Git標簽刪除腳本解析與實踐:輕松管理本地與遠程標簽

Git 標簽刪除腳本解析與實踐:輕松管理本地與遠程標簽 在 Git 版本控制系統中,標簽常用于標記重要的版本節點,方便追溯和管理項目的不同階段。隨著項目的推進,一些舊標簽可能不再需要,此時就需要對它們進行清理。本文將通過一個完整的腳本,詳細介紹如何刪除本地和遠程的 …

K8S - Harbor 鏡像倉庫部署與 GitLab CI 集成實戰

引言 在 Kubernetes 環境中&#xff0c;容器鏡像的存儲與管理至關重要。企業級鏡像倉庫&#xff08;如 Harbor&#xff09;為團隊提供了安全、穩定、可擴展的鏡像管理解決方案。 一、Harbor 安裝與配置 Harbor 是由 VMware 開源的企業級云原生鏡像倉庫&#xff0c;它不僅支持…

2025年best好用的3dsmax插件和腳本

copitor 可以從一個3dsmax場景里將物體直接復制到另一個場景中 Move to surface 這個插件可以將一些物體放到一個平面上 instancer 實體器&#xff0c;舉例&#xff1a;場景中有若干獨立的光源&#xff0c;不是實體對象&#xff0c;我們可以使用instancer將他變成實體。 paste …

Python爬蟲實戰:研究nodejs aes加密

1. 引言 1.1 研究背景與意義 在當今數字化時代,Web 數據的價值日益凸顯。通過爬蟲技術獲取公開數據并進行分析,能夠為企業決策、學術研究等提供有力支持。然而,為了保護數據安全和隱私,許多網站采用了加密技術對數據進行保護,其中 AES 加密是一種常見且安全的加密算法。…

LGDRL:基于大型語言模型的深度強化學習在自動駕駛決策中的應用

《Large Language Model guided Deep Reinforcement Learning for Decision Making in Autonomous Driving》2024年12月發表&#xff0c;來自北理工的論文。 深度強化學習&#xff08;DRL&#xff09;在自動駕駛決策方面顯示出巨大的潛力。然而&#xff0c;由于DRL的學習效率低…

TDEngine 與 Grafana

目錄 實踐目錄 Grafana 參考文檔 實踐目錄 10.60.100.194&#xff1a;/home/dualven/tdengine Grafana systemctl status grafana-server http://10.60.100.194:3000/ 這個端口與mydoor的new server服務沖突 &#xff08;同時只開一個&#xff09; 參考文檔 運行監…

Edge瀏覽器打開PDF文件顯示空白(每次需要等上一會)

概述 部分pdf文件用edge瀏覽器打開顯示空白&#xff0c;需要等一會才能顯示出來&#xff0c;這很讓人難以接受&#xff0c;用其他瀏覽器和pdf閱讀器打開是正常的&#xff0c;該怎么操作解決&#xff0c;卸載重裝&#xff0c;修復&#xff0c;重置瀏覽器等都無效。 解決辦法 可…

uniapp小程序輪播圖高度自適應優化詳解

在微信小程序開發過程中&#xff0c;輪播圖組件(swiper)是常用的UI元素&#xff0c;但在實際應用中經常遇到高度不匹配導致的空白問題。本文詳細記錄了一次輪播圖高度優化的完整過程&#xff0c;特別是針對固定寬高比圖片的精確適配方案。 問題背景 在開發"零工市場&quo…