国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

圖像像素操作與二值化

這篇具有很好參考價值的文章主要介紹了圖像像素操作與二值化。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

目錄

1、圖像像素比較

1.1 比較函數(shù)

?1.2 圖像最大值最小值尋找

2、圖像像素邏輯操作

3、圖像二值化

3.1 固定閾值二值化

3.2 自適應閾值二值化


1、圖像像素比較

1.1 比較函數(shù)

圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?1.2 圖像最大值最小值尋找

圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?文章來源地址http://www.zghlxwxcb.cn/news/detail-521521.html

	Mat img = imread("F:/testMap/bijiao.png");
	Mat white = imread("F:/testMap/white.png");
	Mat black = imread("F:/testMap/black.png");
	Mat Min, Max;
	min(img, white, Min);
	max(img, black, Max);

	Mat gray,gray_black;
	cvtColor(img,gray,COLOR_BGR2GRAY);
	cvtColor(black,gray_black,COLOR_BGR2GRAY);

	double minVal,maxVal;
	Point minLoc,maxLoc;
	minMaxLoc(gray,&minVal,&maxVal,&minLoc,&maxLoc,gray_black);

2、圖像像素邏輯操作

圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?

#include <iostream>
#include <fstream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
	Mat a = (Mat_<uchar>(1,2) << 0,5); 
	Mat b = (Mat_<uchar>(1,2) << 0,6);
	Mat Xor,Or,Not,And;
	bitwise_not(a,Not);
	cout << "a Not" << Not << endl;
	bitwise_and(a, b, And);
	bitwise_or(a, b, Or); bitwise_xor(a,b,Xor);
	cout << And << endl; cout << Or << endl; cout << Xor << endl;

	Mat img = imread("F:/testMap/bijiao.png");
	Mat mark = imread("F:/testMap/black.png");
	
	Mat result;
	bitwise_and(img, mark, result);

	Mat img_inv;
	//bitwise_not(img, img_inv);

	cvtColor(mark,mark,COLOR_BGR2GRAY); 
	bitwise_not(img,img_inv,mark);
	Mat mark_black = imread("F:/testMap/black.png");
	min(img,mark_black,img);
	img = img + img_inv;

	system("pause");
	return 0;
}

3、圖像二值化

3.1 固定閾值二值化

圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?

#include <iostream>
#include <fstream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

int main()
{
	Mat img = imread("F:/testMap/lena.png");
	if (img.empty()){
		cout << "請確認圖像文件名稱是否正確" << endl;
		return -1;
	}

	Mat gray;
	cvtColor(img, gray, COLOR_BGR2GRAY);
	Mat img_B, img_B_V, gray_B, gray_B_V, gray_T, gray_T_V, gray_TRUNC;

	//彩色圖像二值化
	threshold(img, img_B, 125, 255, THRESH_BINARY);
	threshold(img, img_B_V, 125, 255, THRESH_BINARY_INV);

	//灰度圖BINARY二值化
	threshold(gray,gray_B,125,255,THRESH_BINARY);
	threshold(gray,gray_B_V,125,255,THRESH_BINARY_INV); 

	//灰度圖像TOZERO變換
	threshold(gray,gray_T,125,255,THRESH_TOZERO);
	threshold(gray,gray_T_V,125,255,THRESH_TOZERO_INV); 

	//灰度圖像TRUNC變換
	threshold(gray,gray_TRUNC,125,255,THRESH_TRUNC); 

	//灰度圖像大津法和三角形法二值化
	Mat img_Thr = imread("F:/testMap//threshold.jpg",IMREAD_GRAYSCALE); 
	Mat img_Thr_O, img_Thr_T;
	threshold(img_Thr,img_Thr_O,100,255,THRESH_BINARY | THRESH_OTSU);    //明暗漸變的圖像得出的結果不理想
	threshold(img_Thr, img_Thr_T,125,255,THRESH_BINARY | THRESH_TRIANGLE); //明暗漸變的圖像得出的結果不理想

	system("pause");
	return 0;
}

3.2 自適應閾值二值化

圖像像素操作與二值化,OpenCV學習筆記,計算機視覺,圖像處理,人工智能

?

//自適應閾值二值化
Mat adaptive_mean,adaptive_gauss;
//均值法
adaptiveThreshold(img_Thr,adaptive_mean,255,ADAPTIVE_THRESH_MEAN_C,THRESH_BINARY,55,0);
//高斯法
adaptiveThreshold(img_Thr,adaptive_gauss,255,ADAPTIVE_THRESH_GAUSSIAN_C,THRESH_BINARY,55,0);

到了這里,關于圖像像素操作與二值化的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • opencv(20) 圖像閾值(二值化)

    opencv(20) 圖像閾值(二值化)

    二值化核心思想,設閾值,大于閾值的為0(黑色)或 255(白色),使圖像稱為黑白圖。 閾值可固定,也可以自適應閾值。 自適應閾值一般為一點像素與這點為中序的區(qū)域像素平均值或者高斯分布加權和的比較,其中可以設置一個差值也可以不設置。 圖像的閾值化旨在提取

    2024年02月02日
    瀏覽(24)
  • OpenCV(八):圖像二值化

    OpenCV(八):圖像二值化

    目錄 1.固定值二值化 2.自適應閾值二值化 3.Android JNI完整代碼 1.固定值二值化 固定閾值二值化是OpenCV中一種簡單而常用的圖像處理技術,用于將圖像轉換為二值圖像。在固定閾值二值化中,像素值根據(jù)一個預定義的閾值進行分類,大于閾值的像素被設置為白色,而小于或等于

    2024年02月10日
    瀏覽(24)
  • OpenCV圖像處理----圖像的二值化

    OpenCV圖像處理----圖像的二值化

    圖像二值化( Image Binarization) 就是將圖像上的像素點的灰度值設置為0或255,也就是將整個圖像呈現(xiàn)出明顯的黑白效果的過程。 二值化的原理 OpenCV提供的圖像二值化API threshold()方法參數(shù): 圖片矩陣 閾值 圖片中的最大值 二值化的方式 二值化的方式: THRESH_BINARY 高于閾值改為

    2024年02月12日
    瀏覽(21)
  • 基于opencv的c++圖像處理(圖像二值化)

    基于opencv的c++圖像處理(圖像二值化)

    基于opencv的c++接口,實現(xiàn)常用的圖像二值化方法,包括了最大類間方差法(OTSU)、固定化閾值以及自適應閾值。 該函數(shù)將固定級別的閾值應用于多通道陣列。該函數(shù)通常用于從灰度圖像中獲取雙層(二進制)圖像(#compare 也可用于此目的)或用于去除噪聲,即過濾掉值過小

    2024年02月07日
    瀏覽(31)
  • opencv-python使用鼠標點擊圖片顯示該點坐標和像素值&&IPM逆透視變換車道線&&二值化處理

    opencv-python使用鼠標點擊圖片顯示該點坐標和像素值&&IPM逆透視變換車道線&&二值化處理

    實現(xiàn)獲取像素點的功能主要基于OpenCV的內置函數(shù)cv2.setMouseCallback(),即鼠標事件回調 setMouseCallback(winname, onMouse,userdata=0) winname: 接收鼠標事件的窗口名稱 onMouse: 處理鼠標事件的回調函數(shù)指針 userdata: 傳給回調函數(shù)的用戶數(shù)據(jù) ?代碼實現(xiàn):鼠標點擊圖片時,讀取當前鼠標對應位置

    2024年02月12日
    瀏覽(25)
  • OpenCV常用功能——灰度處理和圖像二值化處理

    1.1 cvtColor函數(shù) 函數(shù)原型: 功能 :轉換圖像顏色空間。 參數(shù) : src: 輸入圖像。 code: 顏色空間轉換代碼??梢匀〕A縞v2.COLOR_BGR2GRAY或cv2.COLOR_RGB2GRAY。 dst: 輸出圖像。 dstCn: 輸出圖像的通道數(shù),如果設置為0,則跟隨轉換代碼自動設置。 內置函數(shù)示例代碼: 灰度處理的原理是將

    2024年02月08日
    瀏覽(27)
  • 【Opencv--自適應圖像二值化】cv2.adaptiveThreshold()

    【Opencv--自適應圖像二值化】cv2.adaptiveThreshold()

    在這里 cv2.threshold函數(shù) 介紹了普通的opencv圖像閾值處理函數(shù)。但threshold 的圖像閾值處理對于某些光照不均的圖像,這種全局閾值分割的方法并不能得到好的效果。 圖像閾值化操作中,我們更關心的是從二值化圖像中分離目標區(qū)域和背景區(qū)域,僅僅通過固定閾值很難達到理想

    2024年02月07日
    瀏覽(23)
  • 【OpenCV】 基礎入門(二)圖像基礎概念 | 圖像灰度化處理 | 圖像二值化處理

    【OpenCV】 基礎入門(二)圖像基礎概念 | 圖像灰度化處理 | 圖像二值化處理

    ??在計算機中用一般用 M x N 的矩陣來表示一幅尺寸大小為 M x N 的數(shù)字圖像,矩陣元素的值就是該圖像對應位置上的像素值。 ?? 對于計算機本地磁盤中的彩色圖像,單機鼠標右鍵,選擇“屬性”,可以看到一幅圖像的基本信息。 1、灰度圖: ??灰度圖是每個像素只有一

    2024年04月14日
    瀏覽(27)
  • C#使用OpenCv(OpenCVSharp)圖像局部二值化處理實例

    ? 本文實例演示C#語言中如何使用OpenCv(OpenCVSharp)對圖像進行局部二值化處理。 目錄 圖像二值化原理 局部二值化 自適應閾值 實例 效果

    2024年02月13日
    瀏覽(25)
  • C#使用OpenCv(OpenCVSharp)圖像全局二值化處理實例

    本文實例演示C#語言中如何使用OpenCv(OpenCVSharp)對圖像進行全局二值化處理。 目錄 圖像二值化原理 函數(shù)原型 參數(shù)說明 實例 效果

    2024年02月13日
    瀏覽(30)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包