1. 程式人生 > >opencv:累加影象求平均(c語言版本)

opencv:累加影象求平均(c語言版本)

//OpenCV中如何累加多幅影象並取平均值
#include "cv.h"
#include "highgui.h"
int main(int argc,char *argv[])
{
 IplImage * img1 = cvLoadImage("C:\\hello\\1.bmp");
 IplImage * img2 = cvLoadImage("C:\\hello\\2.bmp");
 IplImage * img3 = cvLoadImage("C:\\hello\\3.bmp");
 
 
 
IplImage * img_sum = cvCreateImage(cvGetSize(img2),IPL_DEPTH_32F,3);
 cvZero(img_sum);
 
 cvAcc(img1,img_sum);
 cvAcc(img2,img_sum);
 cvAcc(img3,img_sum);
 
 IplImage * img_sum_gray = cvCreateImage(cvGetSize(img2),IPL_DEPTH_8U,3);
 
 cvConvertScale(img_sum,img_sum_gray,1.0/3.0);
 
 cvNamedWindow("img_sum_gray");
 cvShowImage("img_sum_gray",img_sum_gray);
 cvWaitKey(0);
 
 cvSaveImage("img_sum_gray.png",img_sum_gray);
 
 cvDestroyAllWindows();
 
 cvReleaseImage(&img1);
 cvReleaseImage(&img2);
 cvReleaseImage(&img3);
 cvReleaseImage(&img_sum);
 cvReleaseImage(&img_sum_gray);
 
 return 0;
}


相關推薦

opencv累加影象平均c語言版本

//OpenCV中如何累加多幅影象並取平均值 #include "cv.h" #include "highgui.h" int main(int argc,char *argv[]) { IplImage * img1 = cvLoadImage("C:\\hello

“棧”的典型應用—表示式C語言實現【轉】

我們都知道算術四則運算的運算規則是: 先乘除,後加減。 從左到右計算 先算括號內,再算括號外 表示式組成 任何一個表示式都有運算元、運算子和界定符組成。 運算元即可以是常量,也可以是被說明為變數或常量的識別符號。 運算子可以分為算術運算,關係運算和邏輯運

資料結構中用棧實現表示式c語言實現

/* 該程式完成了個位數的各類表示式求值 運用了資料結構中的棧及對棧操作的各類函式,操作全用指標完成 如輸入 2+3*(3+3*1)#  輸出結果為 20 經測試個位數的表示式運算結果均正確 */ #include<stdio.h> #include<std

基於libuv的最精簡Web伺服器tinyweb v1 v2 v3 C語言原始碼

一年之前(2013年6月22日),我發表過一篇部落格《tinyweb: C語言 + libuv 開發的最精簡的WebServer (附原始碼)》,介紹了我用libuv開發的一個最精簡的Web server伺服器——tinyweb。事實上,那個版本的 tinyweb(v1)是

qsort歸納學習c語言版本

serve www. 返回 char s regexp ever char* str ret 參考:https://www.cnblogs.com/ForeverJoker/archive/2013/05/25/qsort-sort.html 包含在<stdlib.h

素數的幾道小題c語言版本

求素數一直以來是c語言的經典題目,下面是PAT做題過程中想到的幾道素數小題,整理如下: 1 求素數的兩種方法 1.1 判斷n是否能被1~n-1整除 #include<stdio.h> int main() { int i, n; scanf("%d", &

資料結構-順序表的實現以及一些功能c語言版本

#define MAXSIZE 100 //MAXSIZE為線性表可能的最大長度 #include<stdio.h> typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; int length

八皇后問題C語言版本

八皇后問題是一個古老而著名的問題,是回溯演算法的典型例題。該問題是十九世紀著名的數學家高斯1850年提出:在8X8格的國際象棋上擺放八個皇后,使其不能互相攻擊,即任意兩個皇后都不能處於同一行、同一列或同一斜線(對角線)上,問有多少種擺法。 解決方法1 下面的C程式碼可以解

串列埠除錯助手上輸入資料,然後再數碼管顯示C語言版本

//串列埠除錯助手上輸入資料,然後再數碼管顯示 #include <reg52.h> #include "uart.h"   //數碼管從0-F uint8 number[]={0x0c0,0x0F9,0x0A4,0x0B0,     0x99,0x92,0x8

簡單選擇排序C語言版本

基本思想:在陣列中找到最小的數,將其放置到第一個位置,第二小的數,放在陣列中的第二個位置,依次類推。在寫程式碼的開始,竟然與冒泡法的原理混淆,需要注意。 程式碼: #include<stdio.h> #include<windows.h> int

初夏小談斐波那契三種實現方法C語言第三種相信你沒見過

斐波那契數列(Fibonaccisequnce),又稱黃金分割數列。研究斐波那契數列有相當重要的價值,例在現代物理、準晶體結構、化學等領域都有直接的應用。因此研究斐波那契數列也是很有必要的。 今天初夏將為大家帶來計算斐波那契數列第n位的三種方法 第一種利用遞迴的方法計算,程式碼相當簡單,但其

資料結構C語言實現判斷兩棵二叉樹是否相等,bug求解

判斷兩棵二叉樹是否相等。 遇到了bug,求大神幫忙!!! C語言原始碼: #include <stdio.h> #include <stdlib.h> #include <malloc.h> #define OK 1 #define

表示式C語言

程式碼可以實現的功能: 可以計算任意整型 但是隻可以進行 + - * / () 運算 我寫的程式碼, 因為我想程式碼可以實現:表示式可以計算任意整型數,所以定義了兩個棧,分別用來存放操作符和運算元; 批註:如果只定義一個棧,我覺得我只能做到,我的程式碼只能計

一個矩陣中的馬鞍點c語言實現

資料結構中的求一個矩陣的馬鞍點 請編寫一個完整的程式,如果矩陣A中存在這樣的一個元素A[i,j]滿足條件A[i,j]是第i行的值最小的元素,且又是第j列中最大的元素,則稱之為該矩陣的一個馬鞍點。 程式碼如下: #include<stdio.h> #d

有趣的演算法3分鐘看懂希爾排序C語言實現

在上一次的演算法討論中,我們一起學習了直接插入排序。它的原理就是把前i個長度的序列變成有序序列,然後迴圈迭代,直至整個序列都變為有序的。但是說來說去它還是一個時間複雜度為(n^2)的演算法,難道就不能再進一步把時間複雜度降低一階麼?確實,以上幾種演算法相對於之前的O(n^2)

PAT乙級1054. 平均值C語言

/* * 1. 合法的輸入最長為8(-1000.00); * 2. 嚴謹解法: * 2.1 scanf("%8s", str); 讀取 最多前8個字元 * 2.2 利用 ungetc(getchar(), stdi

PAT Basic 1054. 平均值 (20)C語言實現

, CSDN內容暫時不更新(將來有計劃更新), 請前往連結檢視最新內容. 歡迎star 我的repo題目本題的基本要求非常簡單:給定N個實數,計算它們的平均值。但複雜的是有些輸入資料

牛頓法和割線法方程C語言

1 . 實驗目的 (1) 通過對二分法與牛頓迭代法作程式設計練習與上機運算,進一步體會二分法與牛頓迭代法的不同特點。 (2) 編寫割線迭代法的程式,求非線性方程的解,並與牛頓迭代法作比較。

排序算法系列歸併排序(Merge sort)C語言

通俗理解:運用分而治之的思想,編寫遞迴函式,將大陣列排序轉化為小陣列排序,最後再將其合併。void merge_sort(int*p,int low,int high) { int mid = (low+high)/2; if (low <high) { m

使用棧解決表示式C語言及問題總結

一、理論知識 表示式=(運算元)+(運算子)+(運算元)設 Exp = S1+OP+S2則稱OP+S1+S2為字首表示法S1+OP+S2為中綴表示法        S1+S2+OP為字尾表示法 例如:Exp = a x b + (c – d / e) x f,其字首式:+