opencv獲取影象RGB值的兩種方法
1.使用opencv1中的IplImage
程式碼如下:
int main()
{
IplImage* img = cvLoadImage("lena.jpg");
CvScalar s;
for (int y = 0; y <img->height; y++) {
for (int x = 0; x < img->width; x++) {
s = cvGet2D(img, y, x);
int mu = (s.val[0] + s.val[1] + s.val[2]) / 3;//照片每個畫素點RGB三通道的均值
int piex = sqrt((pow(s.val[0] - mu, 2) + pow(s.val[1] - mu, 2) + pow(s.val[2] - mu, 2))/3);
s.val[0] = piex;
s.val[1] = piex;
s.val[2] = piex;
//printf("mu=%d\n", mu);
//printf("B=%f,G=%f,R=%f\n", s.val[0], s.val[1], s.val[2]);//獲取的分別是BGR的值
cvSet2D(img, y, x, s);
}
}
cvSaveImage("img.jpg", img);
waitKey(0);
}
2.使用opencv2的Mat
程式碼如下:
int main()
{ Mat img = imread("lena.jpg");
for (int i = 0; i<img.rows; i++)
{
for (int j = 0; j<img.cols; j++)
{
int mu = img.at<Vec3b>(i, j)[0] + img.at<Vec3b>(i, j)[1] + img.at<Vec3b>(i, j)[2];
mu /= 3;
int stdev = sqrt(double((img.at<Vec3b>(i, j)[0] - mu)*(img.at<Vec3b>(i, j)[0] - mu) + (img.at<Vec3b>(i, j)[1] - mu)*(img.at<Vec3b>(i, j)[1] - mu) + (img.at<Vec3b>(i, j)[2] - mu)*(img.at<Vec3b>(i, j)[2] - mu)) / 3);
for (int k = 0; k<3; k++)
img.at<Vec3b>(i, j)[k] = stdev;
}
}
imshow("lena.jpg", img);
imwrite("A.jpg", img);
waitKey(0);
return 0;
}
效果圖如下:
相關推薦
opencv獲取影象RGB值的兩種方法
1.使用opencv1中的IplImage 程式碼如下: int main() { IplImage* img = cvLoadImage("lena.jpg"); CvScalar s; for
for 循環遍歷字典中的鍵值兩種方法
time bsp 山東 解包 江蘇 方法 獲取 for for 循環 一、先獲取key,然後通過dic[key]獲取value import time dict = {‘山東‘:‘濟南‘,‘河南‘:‘鄭州‘,‘江蘇‘:‘南京‘} for key in dict: prin
js獲取物件屬性的兩種方法,object.屬性名,[‘屬性名’ ]
1、通過點的方式 2、通過括號的方式 例: <input type="text" value="hello" id="text"/> var oText = document.getElementById("text") (1)通過點的方式 oText.pr
Opencv批量處理圖片的兩種方法
轉自:http://blog.csdn.net/hei_ya/article/details/51387624 在生成訓練集的時通常需要對資料夾中圖片進行批處理,本文簡要介紹影象批量讀取、處理、儲存的方法。 方法一: 1.生成圖片描述檔案 對於有多幅影象的資料
Android 獲取手機的解析度兩種方法
A,過時的API [2]獲取手機的解析度 WindowManager wm = (WindowManager) getSystemService(WINDOW_SERVICE
ssm中獲取絕對路徑的兩種方法
專案中經常要上傳檔案然後儲存到專案中,這時就需要獲取專案的絕對路徑。方法一:如果我們是在controller裡面想獲取絕對專案的路徑:這樣就可以獲取到專案的絕對路徑了。方法二:我們可以在web.xml裡
android 獲取前一天時間的兩種方法
要想獲取前一天的時間,我這裡有兩種方法,話不多說,直接上程式碼: package com.test; import java.time.LocalDate; import java.time.Loc
Python獲取當前檔名分兩種方法:__file__、sys.argv[0]
Python獲取當前檔名可以通過__file__或者sys.argv[0],下面以test.py檔案為例. test.py: # -*- coding: utf-8 -*- # test.py import sys import os # 絕對路徑 print(__fi
簡易的js獲取星期幾的兩種方法
第一種:var a = ["日", "一", "二", "三", "四", "五", "六"]; var week = new Date().getDay(); var str = "今天是星期"+ a[week]; alert(str); 第二種:var str
android獲取檔案getMimeType的兩種方法
方法1: import java.util.Locale; private static String getSuffix(File file) { if (file == null || !file.exists() || file.isDire
【Jquery】jQuery獲取URL引數的兩種方法
jQuery獲取URL引數的關鍵是獲取到URL,然後對URL進行過濾處理,取出引數。location.href是取得URL,location.search是取得URL“?”之後的字串,也就是說引數部
【Android開發技巧】Fragment中獲取Context物件的兩種方法
我們在使用Fragment的時候經常需要傳遞Context型別的引數,【Android用的比較多的就是下面幾個導航按鈕,點選切換fragment(之前Android studio2.0以前是可以new fragment(context)時傳遞Context,但後來升級了studio2.1.2之後,new
根據日期獲取星期幾的兩種方法
private String date = "2017-05-21";// SimpleDateFormat simpleDateFormat; simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd"); b11.se
struts2獲取Servlet API的兩種方法
1.通過ServletActionContext獲取 在Action中呼叫ServletActionContext的靜態方法來獲取: HttpServletRequest request = ServletActionContext.getRequest
android獲取圖片尺寸的兩種方法以及bitmap的縮放
//Uri.parse("file://"+result.getImage().getCompressPath())) String path=uri.getPath(); Log.e("圖片路徑",path+""); Spa
微信網頁開發之獲取使用者unionID的兩種方法--基於微信的多點登入使用者識別
假設網站A有以下功能需求:1,pc端微信掃碼登入;2,微信瀏覽器中的靜默登入功能需求,這兩種需求就需要用到使用者的unionID,這樣才能在多個登入點(終端)識別使用者。那麼這兩種需求下使用者的unionID該如何獲取呢? 1,先看pc端的解決方案 以snsapi_logi
js+jquery動態設定/增加/刪除/獲取元素屬性的兩種方法集錦對比(動態onclick屬性設定+動態title設定)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html140/strict.dtd"> <html> <head>
【opencv】獲取圖片某點畫素值的兩種方法
1. 通過指標訪問畫素值 IplImage *Temp=*iterIplOri; uchar *dataaa=(uchar*)Temp->imageData; int step=Temp->widthStep/sizeof(uchar); in
前臺向後臺傳值的兩種方法 以及 從後臺獲取數據的方法
list 獲取數據 data border asc req rip attr 訂單 1、前臺向後臺傳值方法一: 表單提交的方式: 1 <form action="${path }/manage/logon.do" method="post" id="logonFo
React獲取input的值並提交的兩種方法
方法一 利用DOM提供的Event物件的target事件屬性取值並提交 import React from 'react'; class InputDemo extends React.Component{ state = { InputValue : ""