convert -quiet 2B_IMAGES/1001005_2_53990/01_03DEC22_S01005_0004_cutout_1209.fits
-level 4.92401123047%,5.47628846705% -negate -fill transparent -stroke green
-draw "circle $X,$Y `echo $X+5|bc`,$Y" -stroke black
-draw "rectangle `echo $X-12|bc`,`echo $Y-12|bc` `echo $X+12|bc`,`echo $Y+12|bc`"
-crop 50x50+`echo $X-25|bc`+`echo $Y-25|bc`\! -background transparent
-flatten +repage 2B_IMAGES/1001005_2_53990/out.png;
以上脚本在macOSX中完美运行。但是当我尝试在unix服务器上运行它时,我收到以下错误:
convert.bin:不符合图形原语定义circle' @ error/draw.c/DrawImage/3158.
convert.bin: unable to open image
'106.727','64.344'':没有这样的文件或目录@ error / blob.c / OpenBlob / 2638。
convert.bin:此图像格式没有解码委托'106.727','64.344'' @ error/constitute.c/ReadImage/544.
convert.bin: unable to open image
111.727,'64 .344'':没有这样的文件或目录@ error / blob.c / OpenBlob / 2638。
convert.bin:此图像格式没有解码委托111.727,'64.344'' @ error/constitute.c/ReadImage/544.
convert.bin: non-conforming drawing primitive definition
circle'@ error / draw.c / DrawImage / 3158。
convert.bin:不符合图形原语定义rectangle' @ error/draw.c/DrawImage/3158.
convert.bin: unable to open image
94.727,52.344':没有这样的文件或目录@ error / blob.c / OpenBlob / 2638。
convert.bin:此图像格式没有解码委托94.727,52.344' @ error/constitute.c/ReadImage/544.
convert.bin: unable to open image
118.727,76.344':没有这样的文件或目录@ error / blob.c / OpenBlob / 2638。
convert.bin:此图像格式没有解码委托118.727,76.344' @ error/constitute.c/ReadImage/544.
convert.bin: non-conforming drawing primitive definition
circle'@ error / draw.c / DrawImage / 3158。
convert.bin:不符合图形的原始定义`rectangle'@ error / draw.c / DrawImage / 3158。
在脚本中,变量X和Y包含我想要绘制圆形和矩形的中心位置。在上述情况下,X = 106.727,Y = 64.344。 输入图像的路径为:' 2B_IMAGES / 1001005_2_53990 / 01_03DEC22_S01005_0004_cutout_1209.fits ' 输出路径为 2B_IMAGES / 1001005_2_53990 / out.png
我尝试在线查找答案,但无法解决问题。我仍然遇到同样的错误。有人可以告诉我我需要在脚本中进行的更改才能使其正常工作。
答案 0 :(得分:0)
我建议在调用draw
之前将$ x和$ Y转换为脚本顶部附近的整数,如下所示:
# Round $X to nearest int
X=$(echo "($X+0.5)/1" | bc)
# Round Y to nearest int
Y=$(echo "($Y+0.5)/1" | bc)
此外,请检查您是否支持FITS
图片
identify -list format | grep -Ei "fit|Flex"