十八、圖像像素類型轉換和歸一化操作

項目功能實現:對一張圖像進行類型轉換和歸一化操作
按照之前的博文結構來,這里就不在贅述了

一、頭文件

norm.h

#pragma once#include<opencv2/opencv.hpp>using namespace cv;class NORM {
public:void norm(Mat& image);
};#pragma once

二、函數實現

norm.cpp

Ⅰ,像素類型轉換

image.convertTo(image, CV_32FC3);
將image(第一個)轉換為CV_32FC3類型,最終輸出為image(第二個)

對于數據類型而言,其結構為:CV_<bit_depth>(S|U|F)C<number_of_channels>
例如:CV_32FC3 細分:CV_ 32 F C3
32表示每個像素點值所占32bit
F表示Float單精度浮點數
C3表示4通道圖像,為啥呢?C表示通道數,C1是單通道、C2是三通道、C3是四通道,多了一個alpha透明度通道,PNG格式里面就有alpha通道
當然也可以省略,默認為C1

其實就三個參數而已,總結一下

參數一(CV_32FC3)參數二(CV_32FC3)參數三(CV_32FC3) 該參數可省略,默認為C1
8S:signed int,有符號整形C1:單通道
16U:unsigned int,無符號整形C2:三通道
32F:float,單精度浮點型C3:四通道,多了一個alpha通道
64
表示每個像素點值所占的bit位

Ⅱ,歸一化

normalize(image, result, 1.0, 0, NORM_MINMAX);
參數一:處理對象為image
參數二:輸出結果為result
參數三:alpha
參數四:beta
參數五:不同歸一化操作,包括:NORM_L1、NORM_L2、NORM_INF、NORM_MINMAX

NORM_L1:
1,求解image圖片中所有像素點絕對值之和sum
2,result[0,0] = (alpha * image[0,0]) / sum,得到result的第一個像素值,以此類推得到result圖像

NORM_L2:
1,求解image圖片中各像素點值的平方和的開方sum(也就是L2-范數)
2,result[0,0] = (alpha * image[0,0]) / sum,得到result的第一個像素值,以此類推得到result圖像

NORM_INF:
1,求解image圖片中所有像素點值最大的那個max
2,result[0,0] = (alpha * image[0,0]) / max,得到result的第一個像素值,以此類推得到result圖像

NORM_MINMAX:
1,alpha和beta系統會自動判斷出最大值和最小值,分別賦值為max和min
2,根據公式計算出result的每個像素點的值
在這里插入圖片描述

#include"norm.h"
#include<iostream>
#include<opencv2/opencv.hpp>void NORM::norm(Mat& image) {Mat result;std::cout << image.type() << std::endl;image.convertTo(image, CV_32FC3);std::cout << image.type() << std::endl;normalize(image, result, 1.0, 0, NORM_MINMAX);std::cout << result.type() << std::endl;imshow("norm",result);
}

三、主函數

yy_main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>
#include "norm.h"using namespace cv;
using namespace std;int main(int argc, char** argv) {Mat src = cv::imread("E:/C++_workspace/beyond.jpg", IMREAD_COLOR);if (src.empty()) {printf("load image is false...\n");return -1;}namedWindow("yanyu", WINDOW_FREERATIO);imshow("yanyu", src);NORM yy;yy.norm(src);waitKey(0);destroyAllWindows();return 0;
}

項目結構如下:
在這里插入圖片描述

運行結果如下:
在這里插入圖片描述
因為是純白色的背景,歸一化效果不太明顯

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

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

相關文章

智慧公廁是什么?智慧公廁是構建智慧城市的環境衛生基石

隨著城市化進程的不斷加速&#xff0c;城市人口密度和流動性也逐漸增大&#xff0c;對城市公共設施的需求與日俱增。而在這些公共設施中&#xff0c;公廁作為城市基礎設施中不可或缺的一環&#xff0c;對城市的環境衛生和市民生活質量起著舉足輕重的作用。如何提高公廁的管理效…

android studio 中使用kotlin語言 直接操作布局id

android studio 中使用kotlin語言 直接操作布局id 需要在 build.gradle 文件 引入 apply plugin: kotlin-android apply plugin: kotlin-android-extensions&#xff08;會自動生成&#xff0c;可忽略&#xff09;然后在 Activity 文件中 引入 對應的 layout 文件 如&#xff…

MacOs 圍爐夜話

文章目錄 一、安裝 Mac 一、安裝 Mac macOS是一套由蘋果開發的運行于Macintosh系列電腦上的操作系統。macOS是首個在商用領域成功的圖形用戶界面操作系統。 VM虛擬機怎么安裝mac os&#xff1f;&#xff08;全教程&#xff09; 虛擬機&#xff1a;VMware Workstation 17 pro W…

新書推薦:《分布式商業生態戰略:未來數字商業新邏輯與企業數字化轉型新策略》

近兩年&#xff0c;商業經濟環境的不確定性越來越明顯&#xff0c;市場經濟受到疫情、技術、政策等多方因素影響越來越難以預測&#xff0c;黑天鵝事件時有發生。在國內外經濟方面&#xff0c;國際的地緣政治對商業經濟產生著重大的影響&#xff0c;例如供應鏈中斷&#xff0c;…

Shopify配置項過多如何在代碼層面簡化輸出內容

在處理 Shopify 的配置項過多的情況下&#xff0c;可以通過在代碼層面簡化輸出內容來提高效率和可維護性。以下是一些方法&#xff1a; 1. 使用循環和條件語句 使用循環和條件語句來動態生成和輸出內容。通過遍歷配置項的列表或對象&#xff0c;可以根據條件決定是否輸出相應的…

Backend - Django SimpleUI(美化 Django Admin )

目錄 一、作用 二、安裝 & 配置 &#xff08;一&#xff09;安裝依賴 &#xff08;二&#xff09;配置 &#xff08;三&#xff09;運行 三、基礎設定 &#xff08;一&#xff09;創建用戶 &#xff08;二&#xff09;設置標題 &#xff08;三&#xff09;設置登錄…

代理模式筆記

代理模式 代理模式代理模式的應用場景先理解什么是代理&#xff0c;再理解動靜態舉例舉例所用代碼 動靜態的區別靜態代理動態代理 動態代理的優點代理模式與裝飾者模式的區別 代理模式 代理模式在設計模式中是7種結構型模式中的一種&#xff0c;而代理模式有分動態代理&#x…

rabbitmq知識梳理

一.WorkQueues模型 Work queues&#xff0c;任務模型。簡單來說就是讓多個消費者綁定到一個隊列&#xff0c;共同消費隊列中的消息。 當消息處理比較耗時的時候&#xff0c;可能生產消息的速度會遠遠大于消息的消費速度。長此以往&#xff0c;消息就會堆積越來越多&#xff0c…

四、矩陣的分類

目錄 1、相等矩陣 2、同形矩陣 3、方陣&#xff1a; 4、負矩陣、上三角矩陣、下三角矩陣&#xff1a; 5、對角矩陣&#xff1a;是方陣 ?編輯7、單位矩陣&#xff1a;常常用 E或I 來表示。它是一個方陣 8、零矩陣&#xff1a; 9、對稱矩陣&#xff1a;方陣 1、相等矩陣 …

openEuler安裝MySQL客戶端、openEuler安裝MySQL-client、openEuler部署MySQL-client

MySQL客戶端下載鏈接&#xff1a;https://downloads.mysql.com/archives/community/ mysql-community-client-5.7.30-1.el7.x86_64.rpm mysql-community-common-5.7.30-1.el7.x86_64.rpm mysql-community-libs-5.7.30-1.el7.x86_64.rpm 3個必選 8.0.22以上的版本是4個&…

HDFS中常用的Shell命令 全面且詳細

HDFS中常用的Shell命令目錄 一、ls命令 二、mkdir 命令 三、put命令 四、get命令 五、mv命令 六、rm命令 七、cp命令 八、cat命令 前言 安裝好hadoop環境之后&#xff0c;可以執行hdfs相關的shell命令對hdfs文件系統進行操作&#xff0c;比如文件的創建、刪除、修改文…

【FPGA】VHDL:小型出勤系統設計

附源代碼&#xff0c;一定能實現&#xff01; 目錄 EDA設計練習題&#xff1a; 實驗要求如下&#xff1a; 思路分析&#xff1a; 代碼 99進制計數器 碼轉換 頂層文件 特別注意 測試 編譯通過 結果展示 RTL視圖 技術映射視圖 軟件&#xff1a;Quartus II 13.0 (64…

BERT學習筆記

論文&#xff1a;《BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding》&#xff0c;2019 代碼&#xff1a;[tensorflow]&#xff0c;[pytorch] 來源&#xff1a;李沐精度BERT 0、摘要 與之前模型的區別&#xff1a; GPT考慮的是一個單向…

公司中常用的系統有哪些--制造業篇

摘要 本系列博客主要介紹不同行業中使用的常見系統&#xff0c;本文介紹在制造業或是智能制造方向的常見系統。 智能制造發展史 1973年美國約瑟夫哈林頓&#xff08;Joseph Harrington&#xff09;博士在《Computer Integrated Manufacturing》一書中首次提出 CIM&#xff08…

C# 本地方法和lambda實現

概念&#xff1a; 本地函數是一種嵌套在另一成員中的類型的方法。 僅能從其包含成員中調用它們。 下面是本地方法最簡單的一個demo: public static int Show(){int c NewMethod(); return c;static int NewMethod(){#region 測試int a 3;int b 9;int c a b;#endregionre…

python opencv實現車牌識別

目錄 一:實現步驟: 二:實現車牌檢測 一:實現步驟: 使用Python和OpenCV實現車牌識別的步驟大致可以分為以下兩部分: 車牌檢測: 讀取需要進行車牌識別的圖片。 對圖像進行灰度化處理,可能還包括高斯模糊和灰度拉伸。 進行開運算,消除圖像中的噪聲。 將灰度拉伸后的圖…

培養納稅籌劃思維方式,企業稅務籌劃實務操作

一、教程描述 本套稅務籌劃教程&#xff0c;大小447.87M&#xff0c;共有6個文件。 二、教程目錄 前言.mp4 培養納稅籌劃思維方式.mp4 增值稅的稅務籌劃.mp4 企業所得稅的稅務籌劃.mp4 個人所得稅的稅務籌劃.mp4 企業稅務籌劃實務操作&#xff08;課件&#xff09;.pdf…

MDST150-16-ASEMI三相可控整流模塊MDST150-16

編輯&#xff1a;ll MDST150-16-ASEMI三相可控整流模塊MDST150-16 型號&#xff1a;MDST150-16 品牌&#xff1a;ASEMI 正向電流&#xff08;Id&#xff09;&#xff1a;150A 反向耐壓&#xff08;VRRM&#xff09;&#xff1a;1600V 正向浪涌電流&#xff1a;1200A 正…

大數據揭秘:Hadoop短視頻流量分析實戰

??計算機編程指導師 ??個人介紹&#xff1a;自己非常喜歡研究技術問題&#xff01;專業做Java、Python、微信小程序、安卓、大數據、爬蟲、Golang、大屏等實戰項目。 ??實戰項目&#xff1a;有源碼或者技術上的問題歡迎在評論區一起討論交流&#xff01; ?? Java實戰 |…

PyTorch概述(一)---圖像變換和增強

TorchVision torchvision 包由流行的數據集、模型架構以及用于計算機視覺的通用圖片轉換工具組成 TorchVision 包構成 圖像變換和增強TVTensors模型和預訓練的權重數據集工具操作圖像和視頻的編/解碼用于模型檢測的特征提取 圖像變換和增強 torchvision支持通用的計算機視…