Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Image processing 处理语言中图像处理的卷积_Image Processing_Processing_Convolution - Fatal编程技术网

Image processing 处理语言中图像处理的卷积

Image processing 处理语言中图像处理的卷积,image-processing,processing,convolution,Image Processing,Processing,Convolution,由于科罗纳的情况将我的学习描述为自学,作为一名处理语言新手,我不容易进入图像处理,更具体地说是卷积。所以我希望你能帮助我 不幸的是,我的讲师几乎无法联系到我,他给我留下了以下conv代码。卷积背后的理论对我来说很清楚,但我在理解与代码相关的内容方面有很多差距。有人能留下一行注释,让我能更流利地理解代码吗 代码如下 color convolution (int x, int y, float[][] matrix, int matrix_size, PImage img){ float rto

由于科罗纳的情况将我的学习描述为自学,作为一名处理语言新手,我不容易进入图像处理,更具体地说是卷积。所以我希望你能帮助我

不幸的是,我的讲师几乎无法联系到我,他给我留下了以下conv代码。卷积背后的理论对我来说很清楚,但我在理解与代码相关的内容方面有很多差距。有人能留下一行注释,让我能更流利地理解代码吗

代码如下

color convolution (int x, int y, float[][] matrix, int matrix_size, PImage img){
  float rtotal = 0.0;
  float gtotal = 0.0;
  float btotal = 0.0;
  int offset = matrix_size / 2;
  for (int i = 0; i < matrix_size; i++){
    for (int j= 0; j < matrix_size; j++){
      int xloc = x+i-offset;
      int yloc = y+j-offset;
      int loc = xloc + img.width*yloc;
  
      rtotal += (red(img.pixels[loc]) * matrix[i][j]);
      gtotal += (green(img.pixels[loc]) * matrix[i][j]);
      btotal += (blue(img.pixels[loc]) * matrix[i][j]);
  }
}
  rtotal = constrain(rtotal, 0, 255);
  gtotal = constrain(gtotal, 0, 255);
  btotal = constrain(btotal, 0, 255); 

  return color(rtotal, gtotal, btotal);
颜色卷积(int x,int y,float[][]矩阵,int矩阵大小,PImage img){
浮动rtotal=0.0;
浮球总重量=0.0;
浮点数b总=0.0;
int offset=矩阵大小/2;
对于(int i=0;i

}

我不得不做一些猜测,因为我对您使用的所有函数都不肯定,而且我对Processing 3+库也不熟悉,但这是我的最佳尝试

颜色卷积(int x,int y,float[][]矩阵,int矩阵大小,PImage img){
//注:此处的“矩阵”参数也经常被称为
//研究中的“窗口”或“内核”
//我不确定你的皮麦课是从哪里来的,但我会假设
//您使用的是Processing 3+库,并脱离了该假设
//我们在内核(矩阵)空间中看到的每种颜色的多少
浮动rtotal=0.0;
浮球总重量=0.0;
浮点数b总=0.0;
//这个偏移量是我们内核的零中心
//事实上,我们隐式地使用了matrix_size/2
//暗示我们的矩阵大小应该是奇数
//这样我们就可以有一个中间像素
int offset=矩阵大小/2;
//在内核中循环。我们使用“矩阵大小”
//因为这两个维度的最终条件意味着我们的“矩阵”内核
//必须始终是正方形
对于(int i=0;i
我不得不做一些猜测,因为我对您使用的所有函数都不肯定,而且我对Processing 3+库也不熟悉,但这是我的最佳尝试

颜色卷积(int x,int y,float[][]矩阵,int矩阵大小,PImage img){
//注:此处的“矩阵”参数也经常被称为
//研究中的“窗口”或“内核”
//我不确定你的皮麦课是从哪里来的,但我会假设
//您使用的是Processing 3+库,并脱离了该假设
//我们在内核(矩阵)空间中看到的每种颜色的多少
浮动rtotal=0.0;
浮球总重量=0.0;
浮点数b总=0.0;
//这个偏移量是