亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? image_functions.c

?? LastWave
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*..........................................................................*//*                                                                          *//*      L a s t W a v e    P a c k a g e 'image' 2.0.1                      *//*                                                                          *//*      Copyright (C) 1998-2003 Emmanuel Bacry, Jerome Fraleu.              *//*      emails : fraleu@cmap.polytechnique.fr                               *//*               lastwave@cmap.polytechnique.fr                             *//*                                                                          *//*..........................................................................*//*                                                                          *//*      This program is a free software, you can redistribute it and/or     *//*      modify it under the terms of the GNU General Public License as      *//*      published by the Free Software Foundation; either version 2 of the  *//*      License, or (at your option) any later version                      *//*                                                                          *//*      This program is distributed in the hope that it will be useful,     *//*      but WITHOUT ANY WARRANTY; without even the implied warranty of      *//*      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the       *//*      GNU General Public License for more details.                        *//*                                                                          *//*      You should have received a copy of the GNU General Public License   *//*      along with this program (in a file named COPYRIGHT);                *//*      if not, write to the Free Software Foundation, Inc.,                *//*      59 Temple Place, Suite 330, Boston, MA  02111-1307  USA             *//*                                                                          *//*..........................................................................*/#include "lastwave.h"#include "images.h"#include "signals.h"/*  * Initializes an image to 0 */void ZeroImage(IMAGE input){  int j;  LWFLOAT *values;  int nrow1= input->nrow+ (1-input->nrow%2);  int ncol1= input->ncol+ (1-input->ncol%2);  values = input->pixels;  for (j = 0; j < nrow1*ncol1; j++)    values[j] = 0.0;}/* * Adds two images  */void AddImage(IMAGE image1, IMAGE image2,IMAGE output){  int i;  int nrow = image1->nrow;  int ncol = image1->ncol;  LWFLOAT *values_output, *values_image1, *values_image2;    if ((nrow != image2->nrow) || (ncol != image2->ncol)) {     Errorf ( "Size of images are not equal \n");  }  values_image1 = image1->pixels;  values_image2 = image2->pixels;  if (output == NULL) Errorf("AddImage() : Weird error");    if((output != image1) && (output != image2)) SizeImage(output, ncol, nrow);  values_output = output->pixels;  for (i = 0; i < nrow * ncol; i++)     values_output[i] = values_image1[i] + values_image2[i];  output->border_hor= image1->border_hor;  output->border_ver= image1->border_ver;}/* * Substracts two images  */void SubImage(IMAGE image1, IMAGE image2,IMAGE output){  int i;  int nrow = image1->nrow;  int ncol = image1->ncol;  LWFLOAT *values_output, *values_image1, *values_image2;    if ((nrow != image2->nrow) || (ncol != image2->ncol)) {     Errorf ( "Size of images are not equal \n");  }  values_image1 = image1->pixels;  values_image2 = image2->pixels;  if (output == NULL) Errorf("SubImage() : Weird error");    if((output != image1) && (output != image2)) SizeImage(output, ncol, nrow);  values_output = output->pixels;  for (i = 0; i < nrow * ncol; i++)     values_output[i] = values_image1[i] - values_image2[i];  output->border_hor= image1->border_hor;  output->border_ver= image1->border_ver;}/* * Multiplies two images  */void MulImage(IMAGE image1, IMAGE image2,IMAGE output){  int i;  int nrow = image1->nrow;  int ncol = image1->ncol;  LWFLOAT *values_output, *values_image1, *values_image2;    if ((nrow != image2->nrow) || (ncol != image2->ncol)) {     Errorf ( "Size of images are not equal \n");  }  values_image1 = image1->pixels;  values_image2 = image2->pixels;  if (output == NULL) Errorf("MulImage() : Weird error");    if((output != image1) && (output != image2)) SizeImage(output, ncol, nrow);  values_output = output->pixels;  for (i = 0; i < nrow * ncol; i++)     values_output[i] = values_image1[i] * values_image2[i];  output->border_hor= image1->border_hor;  output->border_ver= image1->border_ver;}/* * Divides two images  */void DivImage(IMAGE image1, IMAGE image2,IMAGE output){  int i;  int nrow = image1->nrow;  int ncol = image1->ncol;  LWFLOAT *values_output, *values_image1, *values_image2;    if ((nrow != image2->nrow) || (ncol != image2->ncol)) {     Errorf ( "Size of images are not equal \n");  }  values_image1 = image1->pixels;  values_image2 = image2->pixels;  if (output == NULL) Errorf("DivImage() : Weird error");    if((output != image1) && (output != image2)) SizeImage(output, ncol, nrow);  values_output = output->pixels;  for (i = 0; i < nrow * ncol; i++) {    if (values_image2[i] == 0) {      Warningf("DivImage() : Division by zero");      values_output[i] = FLT_MAX/2;    }    else values_output[i] = values_image1[i] / values_image2[i];  }  output->border_hor= image1->border_hor;  output->border_ver= image1->border_ver;}/* * Adds an image with a number  */void AddNumImage(IMAGE output,LWFLOAT  num){  int j;  int nrow, ncol;  LWFLOAT *values;  nrow = output->nrow;  ncol = output->ncol;  values = output->pixels;  for (j = 0; j < nrow * ncol; j++)    values[j] += num;}/* * Substracts an image with a number  */void SubNumImage(IMAGE output, double num){  int j;  int nrow, ncol;  LWFLOAT *values;  nrow = output->nrow;  ncol = output->ncol;  values = output->pixels;  for (j = 0; j < nrow * ncol; j++)    values[j] -= num;}/* * Divides an image with a number  */void DivNumImage(IMAGE output, double num){  int j;  int nrow, ncol;  LWFLOAT *values;  if (num == 0) Errorf("DivNumImage() : Division by 0");    nrow = output->nrow;  ncol = output->ncol;  values = output->pixels;  for (j = 0; j < nrow * ncol; j++)    values[j] /= num;}/* * Multiplies an image with a number  */void MulNumImage(IMAGE output, double num){  int j;  int nrow, ncol;  LWFLOAT *values;  nrow = output->nrow;  ncol = output->ncol;  values = output->pixels;  for (j = 0; j < nrow * ncol; j++)    values[j] = values[j] * (LWFLOAT) num ;}/* * Gets the minimum and maximum values of an image */void MinMaxImage(IMAGE image,int *xmin,int *ymin, LWFLOAT *pmin,int *xmax,int *ymax,LWFLOAT *pmax){  int x,y;  if (xmin != NULL) *xmin = *ymin = *xmax = *ymax = 0;  (*pmin) = (*pmax) = image->pixels[0];  for (y = 0; y < image->nrow; y++) {    for (x = 0; x < image->ncol; x++) {      if (image->pixels[y*image->ncol+x] > (*pmax)) {        (*pmax) = image->pixels[y*image->ncol+x];        if (xmin != NULL) {          *ymax = y;          *xmax = x;        }      }      if (image->pixels[y*image->ncol+x] < (*pmin)) {        (*pmin) = image->pixels[y*image->ncol+x];        if (xmin != NULL) {          *ymin = y;          *xmin = x;        }      }    }  }}/* Get moment of order 'n' (returns the mean) */LWFLOAT GetNthMomentImage(IMAGE image, int n, LWFLOAT *pNthMoment, int flagCentered){  int i,k;  LWFLOAT m,mn,s,f;  if (n< 0) Errorf("GetNthMomentImage() : 'n' should be positive");  if (n==0) {    *pNthMoment = 1;    return(1);  }        /* Compute the mean */  m = 0;  if (flagCentered || n ==1) {    for (i = 0;i<image->nrow*image->ncol;i++) m += image->pixels[i];    m /= image->nrow*image->ncol;  }  /* If n == 1 we are done ! */  if (n == 1) {    *pNthMoment = m;    return(m);  }    /* Compute the Nth moment */  mn = 0;  for (i = 0;i<image->nrow*image->ncol;i++) {    f = image->pixels[i]-m;    s = 1;    for (k=0;k<n;k++) s *= f;    mn += s;  }  mn /= image->nrow*image->ncol;  *pNthMoment = mn;    return(m);}/* Get absolute moment of order 'f1' (returns the mean) */LWFLOAT GetAbsMomentImage(IMAGE image, LWFLOAT f1, LWFLOAT *pNthMoment, int flagCentered){  int i;  LWFLOAT m,mn;  if (f1==0) {    *pNthMoment = 1;    return(1);  }        /* Compute the mean */  m = 0;  if (flagCentered) {    for (i = 0;i<image->nrow*image->ncol;i++) m += image->pixels[i];    m /= image->nrow*image->ncol;  }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
午夜精品福利视频网站| 午夜视频一区在线观看| 欧美色成人综合| 91在线观看免费视频| 国产精品亚洲一区二区三区在线| 日本午夜一本久久久综合| 一区二区在线观看视频在线观看| 国产精品国产三级国产普通话三级 | 国产99久久精品| 午夜精品久久久久久久久久久| 亚洲国产成人av| 亚洲午夜成aⅴ人片| 日韩一区欧美二区| 激情成人综合网| 东方aⅴ免费观看久久av| jlzzjlzz亚洲女人18| 色综合网站在线| 欧美日韩精品一区二区| 欧美巨大另类极品videosbest | 欧洲国产伦久久久久久久| 欧美三级一区二区| 91精品国产91热久久久做人人| 日韩亚洲欧美综合| 国产清纯美女被跳蛋高潮一区二区久久w| 久久综合久久综合亚洲| 国产精品毛片久久久久久久| 亚洲一卡二卡三卡四卡| 美女免费视频一区二区| 国产精品一区二区三区乱码| 色婷婷激情一区二区三区| 欧美精品在线观看播放| 久久影视一区二区| 亚洲激情自拍视频| 久久99精品国产.久久久久久| 成人综合日日夜夜| 欧美亚洲尤物久久| 国产三级欧美三级日产三级99| 亚洲欧洲中文日韩久久av乱码| 免费观看成人鲁鲁鲁鲁鲁视频| 丰满少妇在线播放bd日韩电影| 欧美日韩国产高清一区二区三区| 久久免费的精品国产v∧| 一区二区高清在线| 国产精品综合av一区二区国产馆| 一本色道久久综合亚洲aⅴ蜜桃| 91精品国产福利| 亚洲伦理在线精品| 精品一区二区三区免费观看| 91黄色免费网站| 久久久久国色av免费看影院| 91精品国产综合久久福利软件| 国产精品福利av| 蜜桃av噜噜一区| 欧美无乱码久久久免费午夜一区| 久久亚洲精华国产精华液 | 国产黄人亚洲片| 欧美日本韩国一区| 亚洲欧美激情一区二区| 国产精品中文字幕日韩精品| 91精品国产乱| 五月婷婷久久丁香| 欧美亚洲愉拍一区二区| 综合中文字幕亚洲| 粉嫩久久99精品久久久久久夜| 精品欧美一区二区三区精品久久| 亚洲成av人影院| 欧美日韩一区中文字幕| 亚洲精品亚洲人成人网在线播放| 成人免费视频视频| 中文字幕国产精品一区二区| 国产精品综合二区| 国产视频一区在线观看 | 中文字幕亚洲在| 成人激情开心网| 国产欧美日韩一区二区三区在线观看| 久久99精品久久久久婷婷| 欧美一区2区视频在线观看| 亚洲午夜久久久久久久久电影网| 色国产综合视频| 亚洲免费毛片网站| 在线观看视频一区二区欧美日韩| 亚洲一区二区三区激情| 欧美色老头old∨ideo| 亚洲不卡av一区二区三区| 制服丝袜成人动漫| 麻豆91精品91久久久的内涵| 精品久久久网站| 国产成人av电影| 日韩毛片视频在线看| 欧美体内she精视频| 天堂久久一区二区三区| 日韩欧美在线网站| 国产成人福利片| 亚洲欧美韩国综合色| 欧美日韩中文一区| 久久99精品久久久久久国产越南 | 亚洲色图欧美在线| 欧美日韩五月天| 黄色成人免费在线| 日韩一区欧美小说| 欧美高清视频一二三区 | 亚洲黄色免费电影| 欧美精品在欧美一区二区少妇| 麻豆成人综合网| 国产精品不卡一区| 欧美日韩久久久| 国产精品一区二区三区乱码| 亚洲免费三区一区二区| 欧美电影免费观看完整版| 成人av在线资源| 日本美女视频一区二区| 欧美激情资源网| 69成人精品免费视频| 粉嫩一区二区三区在线看| 亚洲成人av一区| 中文字幕欧美区| 91精品国产综合久久婷婷香蕉| 成人深夜福利app| 日本伊人色综合网| 亚洲欧美日韩国产综合在线 | www.一区二区| 日本不卡一二三| 国产精品高潮呻吟| 日韩视频免费直播| 日本韩国精品在线| 国产91丝袜在线播放| 免费人成在线不卡| 亚洲一区二区在线视频| 中文字幕第一区第二区| 欧美v亚洲v综合ⅴ国产v| 欧美三级日韩在线| 9i看片成人免费高清| 国产一区二区三区香蕉| 日韩精品91亚洲二区在线观看| 亚洲视频免费在线观看| 国产三区在线成人av| 日韩精品一区二区三区蜜臀| 在线不卡一区二区| 欧美最猛黑人xxxxx猛交| 成人午夜免费av| 国产乱子伦视频一区二区三区| 丝袜美腿亚洲一区| 亚洲图片欧美综合| 亚洲午夜视频在线观看| 亚洲欧洲无码一区二区三区| 久久精品视频免费| 欧美精品一区二区在线播放 | 国产成人在线网站| 美日韩一区二区三区| 日本不卡一二三| 美女网站色91| 精品午夜久久福利影院| 青娱乐精品视频| 另类欧美日韩国产在线| 奇米一区二区三区av| 奇米精品一区二区三区在线观看一| 亚洲午夜精品久久久久久久久| 一区二区三区精密机械公司| 亚洲精品综合在线| 亚洲综合色视频| 日韩中文字幕一区二区三区| 婷婷国产在线综合| 奇米影视一区二区三区| 国产在线国偷精品产拍免费yy| 国产精品系列在线播放| 成人福利视频网站| 色偷偷久久一区二区三区| 91成人在线免费观看| 欧美女孩性生活视频| 欧美一卡二卡在线| 国产日韩精品一区| 亚洲欧美激情一区二区| 石原莉奈一区二区三区在线观看| 老司机精品视频一区二区三区| 精品一区二区国语对白| 成人精品免费看| 欧美性猛片aaaaaaa做受| 欧美一区二区三区的| 国产夜色精品一区二区av| 国产精品福利av| 日本不卡中文字幕| 成人免费高清在线观看| 欧美色图片你懂的| 精品美女被调教视频大全网站| 综合久久国产九一剧情麻豆| 性久久久久久久久| 国产不卡在线播放| 精品视频色一区| 欧美激情一区二区三区不卡 | 久久久亚洲高清| 亚洲男同性视频| 精品午夜久久福利影院| 北岛玲一区二区三区四区| 日韩一区二区免费在线观看| 国产精品日韩成人| 美女视频黄免费的久久 | 色一情一乱一乱一91av| 日韩欧美成人一区二区| 亚洲男同性恋视频| 国产一区二区三区在线观看免费 |