ImageJ marco internal gradient

今天药忘吃喽~ 2022-02-09 08:09 238阅读 0赞



























2 1 0 1
1 0 1 0
0 1 0 1
  0 1 2

3X3的结构元素如图

internal gradient=原图像减结构元素对元素的侵蚀结果

效果如图,左面为原图,右面为效果图

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMTE3NTkx_size_16_color_FFFFFF_t_70watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzMwMTE3NTkx_size_16_color_FFFFFF_t_70 1

在图片已经导入的情况下可以使用该imageJ marco代码

  1. height=getHeight();
  2. width=getWidth();
  3. new_image=newArray(width*height);
  4. temp=0
  5. for (i=0;i<width;i++){
  6. for (ii=0;ii<height;ii++){
  7. v=getPixel(i,ii);
  8. new_image[temp]=v;
  9. temp+=1;
  10. }
  11. }
  12. for (i=1;i<width-1;i++){
  13. for (ii=1;ii<height-1;ii++){
  14. zerozero=getPixel(i-1,ii-1);
  15. twozero=getPixel(i+1,ii-1);
  16. oneone=getPixel(i,ii);
  17. zerotwo=getPixel(i-1,ii+1);
  18. twotwo=getPixel(i+1,ii+1);
  19. if (zerozero==255 && twozero==255 && oneone==255 && zerotwo==255 && twotwo==255)
  20. new_image[i+ii*width]=255;
  21. else
  22. new_image[i+ii*width]=0;
  23. }}
  24. for (i=0;i<width;i++){
  25. for (ii=0;ii<height;ii++){
  26. v=getPixel(i,ii)-new_image[i+ii*width];
  27. setPixel(i,ii,v);
  28. }
  29. }

发表评论

表情:
评论列表 (有 0 条评论,238人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Linear-gradient()

    Linear你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown...

    相关 Low gradient sampling

    Low gradient sampling是一种用于优化的随机梯度下降算法变体,其中样本被选择以最小化其梯度范数的加权和,从而有助于减少梯度中的噪声和提高收敛速度。以下是一些与