Guest User

Untitled

a guest
Mar 31st, 2017
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.09 KB | None | 0 0
  1. #@gui moire_remove_only: moire_remove_only,moire_remove_only(0)
  2. #@gui : Starting pattern = choice(0,"Red-Green","Blue-Green","Green-Red","Green-Blue")
  3. #@gui : tile size = int (128,64,512)
  4.  
  5. moire_remove_only:
  6. bayer_pattern=$1
  7. tile_size=$2
  8.  
  9. -rgb2bayer[-1] $bayer_pattern,1 # convert greyscale raw image into RGB
  10.  
  11.  
  12. --moire_remove_horizontal[0] $bayer_pattern,1 # demosaic by interpolating green horizontally only
  13. -moire_remove_vertical[0] $bayer_pattern # demosaic by interpolating green vertically only
  14.  
  15. -iain_min_fft4[0,1] $2 # break images into tiles, apply a FFT, keep the minimum FFT value from one image or the other, combine tiles.
  16.  
  17.  
  18.  
  19. #@gui moire_remove_horizontal: moire_remove_horizontal,moire_remove_horizontal(0)
  20. #@gui : Starting pattern = choice(0,"Red-Green","Blue-Green","Green-Red","Green-Blue")
  21.  
  22.  
  23. moire_remove_horizontal:
  24.  
  25. -rgb2bayer[-1] $1,1
  26.  
  27.  
  28. --l[0]
  29. -channels 1
  30. (0.5,1,0.5)
  31. -convolve[0] [1]
  32. -rm[1]
  33. -endl
  34. -c 0,255
  35.  
  36. -split[0] c
  37. -reverse[1,3]
  38. -rm[3]
  39. -sub[0] [1]
  40. -sub[2] [1]
  41. -add[0,2] 255
  42. -rgb2bayer[0,2] $1,1
  43. -channels[0] 0
  44. -channels[2] 2
  45. -l[0]
  46. (.25,.5,.25;.5,1,.5;.25,.5,.25)
  47. -convolve[0] [1]
  48. -rm[1]
  49. -endl
  50. -l[2]
  51. (.25,.5,.25;.5,1,.5;.25,.5,.25)
  52. -convolve[0] [1]
  53. -rm[1]
  54. -endl
  55.  
  56. -sub[0,2] 255
  57. -add[0] [1]
  58. -add[2] [1]
  59.  
  60. ## -reverse[1,2]
  61. -append c
  62. -c 0,255
  63.  
  64.  
  65. #@gui moire_remove_vertical: moire_remove_vertical,moire_remove_vertical(0)
  66. #@gui : Starting pattern = choice(0,"Red-Green","Blue-Green","Green-Red","Green-Blue")
  67.  
  68.  
  69. moire_remove_vertical:
  70. -rgb2bayer[0] $1,1
  71.  
  72. --l[0]
  73. -channels 1
  74. (0.5;1;0.5)
  75. -convolve[0] [1]
  76. -rm[1]
  77.  
  78. -endl
  79. -c 0,255
  80.  
  81.  
  82. -split[0] c
  83. -reverse[1,3]
  84. -rm[3]
  85. -sub[0] [1]
  86. -sub[2] [1]
  87. -add[0,2] 255
  88. -rgb2bayer[0,2] $1,1
  89. -channels[0] 0
  90. -channels[2] 2
  91. -l[0]
  92. (.25,.5,.25;.5,1,.5;.25,.5,.25)
  93. -convolve[0] [1]
  94. -rm[1]
  95. -endl
  96. -l[2]
  97. (.25,.5,.25;.5,1,.5;.25,.5,.25)
  98. -convolve[0] [1]
  99. -rm[1]
  100. -endl
  101.  
  102. -sub[0,2] 255
  103. -add[0] [1]
  104. -add[2] [1]
  105.  
  106. ## -reverse[1,2]
  107. -append c
  108. -c 0,255
  109.  
  110.  
  111.  
  112. #@gui iain_min_fft4: iain_min_fft4,iain_min_fft4(0)
  113. #@gui : size = int (128,64,512)
  114.  
  115. iain_min_fft4:
  116.  
  117. -append z # stack images for convenience
  118. tile_size=$1
  119. overlap=16
  120. cropwidth={w}
  121. cropheight={h}
  122.  
  123. # create overlapping tiles
  124.  
  125. -if {$cropwidth%$tile_size>0}
  126. -resize[0] {w+($tile_size-w%$tile_size)},100%,{d},{s},0,3
  127. -endif
  128. -if {$cropheight%$tile_size>0}
  129. -resize[0] 100%,{h+($tile_size-h%$tile_size)},{d},{s},0,3
  130. -endif
  131.  
  132.  
  133. h_tiles={w/$tile_size}
  134. v_tiles={h/$tile_size}
  135.  
  136.  
  137.  
  138. -repeat $v_tiles
  139. v_count=$>
  140. -repeat $h_tiles
  141. h_count=$>
  142.  
  143.  
  144. --crop[0] {($h_count*$tile_size)-$overlap},{($v_count*$tile_size)-$overlap},{($h_count*$tile_size)+($tile_size+$overlap-1)},{($v_count*$tile_size)+($tile_size+$overlap-1)},1
  145.  
  146. -done
  147. -done
  148. -rm[0]
  149.  
  150. # once tiles are split find minimum FFT for each tile pair
  151.  
  152.  
  153. -apply_parallel "
  154. -l[0]
  155. -split z
  156. -rgb2yuv
  157. -fftpolar
  158. -min[0,2]
  159. -min[1,2]
  160. -ifftpolar
  161. -yuv2rgb
  162. -endl
  163. "
  164.  
  165. # combine tiles
  166.  
  167. -repeat $! -l[$>]
  168. -crop $overlap,$overlap,{$tile_size+$overlap-1},{$tile_size+$overlap-1}
  169. -endl
  170. -done
  171. -append_tiles $h_tiles,$v_tiles
  172. -crop 0,0,{$cropwidth-1},{$cropheight-1}
Advertisement
Add Comment
Please, Sign In to add comment