亚洲欧美第一页_禁久久精品乱码_粉嫩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精品国产综合久久精品麻豆| 国产精品三级久久久久三级| 一区二区三区不卡视频| 欧美一区二区在线看| 成人黄色免费短视频| 91在线无精精品入口| 丝袜国产日韩另类美女| 蜜臀va亚洲va欧美va天堂 | 精品在线播放午夜| 亚洲电影第三页| 国产精品色婷婷| 日韩欧美国产麻豆| 欧美久久久久久蜜桃| 99久久精品免费看国产 | 国产精品一二一区| 午夜精品久久久久久久99樱桃| 日本一区二区电影| 精品日韩一区二区三区| 7777精品伊人久久久大香线蕉超级流畅| 免费欧美日韩国产三级电影| 亚洲色图.com| 国产亚洲人成网站| 色婷婷亚洲精品| 高清免费成人av| 国产一区不卡视频| 麻豆精品新av中文字幕| 日韩精品每日更新| 午夜激情久久久| 日本va欧美va瓶| 亚洲五码中文字幕| 亚洲一区二区三区美女| 免费成人美女在线观看.| 中文字幕在线免费不卡| 久久精品人人做人人爽97| 欧美日韩国产经典色站一区二区三区 | 亚洲国产综合色| 亚洲一区二区精品3399| 亚洲激情校园春色| 亚洲精品伦理在线| 亚洲精品ww久久久久久p站| 亚洲人成在线播放网站岛国| 最新日韩av在线| 亚洲日本电影在线| 一区二区三区.www| 午夜精品国产更新| 奇米影视7777精品一区二区| 日韩国产在线观看| 久久精品噜噜噜成人88aⅴ| 秋霞午夜鲁丝一区二区老狼| 美女爽到高潮91| 国产清纯美女被跳蛋高潮一区二区久久w| 欧美精品亚洲二区| 欧美日韩精品一区二区三区蜜桃| 欧美中文字幕亚洲一区二区va在线| 欧美无乱码久久久免费午夜一区| 欧美日韩国产综合一区二区| 在线不卡中文字幕| 亚洲精品一区二区三区四区高清| 国产性天天综合网| 综合亚洲深深色噜噜狠狠网站| 黄色日韩网站视频| 91精品国产一区二区人妖| 99精品欧美一区二区三区综合在线| 99精品视频中文字幕| 色婷婷一区二区| 宅男在线国产精品| 欧美经典一区二区| 亚洲国产成人va在线观看天堂| 日本大胆欧美人术艺术动态| 国产综合色视频| 国产精品一区二区男女羞羞无遮挡 | 韩国女主播成人在线| 国产精品 欧美精品| 91老师片黄在线观看| 欧美久久久久久蜜桃| 久久久久国产精品人| 亚洲精品中文在线影院| 免费观看30秒视频久久| 盗摄精品av一区二区三区| 欧美日韩一区二区在线观看| 26uuu国产一区二区三区| 中文字幕一区二区日韩精品绯色| 亚洲福利电影网| 国产乱妇无码大片在线观看| 在线免费观看日本一区| 精品国产百合女同互慰| 亚洲精品菠萝久久久久久久| 激情久久五月天| 欧日韩精品视频| 久久精品人人做| 日韩av一区二区三区| 波多野结衣亚洲| 精品久久久三级丝袜| 亚洲一区视频在线| 国产乱淫av一区二区三区| 欧美四级电影网| 国产精品三级电影| 国产资源在线一区| 欧美日韩一级片网站| 亚洲欧美自拍偷拍| 国产一区在线观看视频| 欧美日韩一区中文字幕| 国产精品久久99| 国内国产精品久久| 欧美日韩一区二区三区免费看| 国产亚洲自拍一区| 日韩成人免费电影| 91麻豆精品秘密| 国产欧美日韩精品在线| 美女国产一区二区| 777欧美精品| 一区二区三区视频在线看| 成人av小说网| 日韩精品一区国产麻豆| 91啦中文在线观看| 91麻豆国产福利在线观看| 久久久久久99久久久精品网站| 日日嗨av一区二区三区四区| 色欧美片视频在线观看在线视频| 日本一区二区三区四区| 激情欧美一区二区| 日韩欧美激情在线| 肉肉av福利一精品导航| 欧美日韩视频在线观看一区二区三区| 国产激情一区二区三区四区 | 91一区在线观看| 国产91在线|亚洲| 亚洲成人激情社区| 亚洲狠狠丁香婷婷综合久久久| 欧美亚洲一区二区在线| 国产一区二区成人久久免费影院| 国产伦精品一区二区三区免费迷 | 国产欧美日韩亚州综合 | 亚洲欧美日韩成人高清在线一区| 国产a视频精品免费观看| 精品国产电影一区二区| 寂寞少妇一区二区三区| 日韩欧美一区在线| 蜜臀91精品一区二区三区| 日韩亚洲欧美在线观看| 美国十次了思思久久精品导航| 欧美一区二区三区免费视频 | 久久99精品久久久久久动态图 | 久久久久久久av麻豆果冻| 一区二区三区四区国产精品| 亚洲精品中文字幕在线观看| 五月开心婷婷久久| 日本亚洲电影天堂| 国产成人av一区| 国产高清亚洲一区| 色综合一区二区| 欧美日韩精品一区二区| 久久婷婷国产综合国色天香| 韩国女主播成人在线观看| 成人网页在线观看| 91丨porny丨在线| 日韩一级二级三级精品视频| 韩国女主播成人在线| 国产欧美日韩在线观看| 91影院在线免费观看| 五月激情丁香一区二区三区| 日韩色视频在线观看| 国产91在线看| 一区二区欧美精品| 欧美成人一区二区三区片免费| 蜜臀av一区二区在线观看| 久久日韩粉嫩一区二区三区| 成人一二三区视频| 亚洲综合色噜噜狠狠| 日韩欧美中文一区二区| 国产98色在线|日韩| 一区二区高清视频在线观看| 9191成人精品久久| 国产一区二区在线视频| 综合电影一区二区三区| 4438x亚洲最大成人网| 国产精品一区二区你懂的| 一区二区三区美女视频| 日韩精品一区二区三区中文不卡| 国产69精品久久99不卡| 伊人色综合久久天天人手人婷| 69堂国产成人免费视频| 国产成人在线影院 | 麻豆91免费观看| 欧美一区二区三区电影| 舔着乳尖日韩一区| 色久综合一二码| 久久99精品久久久久久国产越南| 国产精品理伦片| 91精品国产入口| 成人99免费视频| 免费看黄色91| 亚洲欧美偷拍卡通变态| 精品国产三级电影在线观看| 色94色欧美sute亚洲线路一久| 国产精品正在播放| 日本美女视频一区二区| 亚洲青青青在线视频| 久久久久久99精品| 欧美一区二区三区在线|