【发布时间】:2016-06-01 09:49:49
【问题描述】:
我是 bash 脚本的新手,到现在为止我都做得很好,没有提出任何问题。
GNU bash,版本 4.3.42(1)-release (x86_64-pc-linux-gnu)
xubuntu 15.04
这让我很困惑,我认为解决方案很简单,但我错过了一些基本的东西,但我已经为此工作了一周,尝试了许多排列,读取了多个线程而没有任何变化。
此 sn-p 代码出现在图像处理例程的末尾,该例程将任意数量的图像分成 R G B 通道并单独处理。
文件按照通道与原始图像分离的顺序添加前缀 0.tiff 1.tiff 等。现在我想将它们重新组合如下;
重命名为 r g b 无济于事,因为可能有一百个或更多 r g b 频道
R G B
image1 0 1 2 ... and so on
image2 3 4 5 ...
image3 6 7 8 ...
所以,组合第一个图像通道 0 1 2,然后将 R G B 的值增加 3 以获得下一个图像序列 3 4 5 等等。
3 个灰色通道通过正确对齐通道和生成彩色图像来正确组合证据。
for 循环结合了 0 1 2 并在其余部分失败。我认为语法是 for 行中的问题 - 可能是变量 R G B 的封闭,尽管封闭变量似乎没有什么区别。
否则,是不是在R G B 变量加3的重新赋值?
我通常可以解决这种问题,但我已经结束了它 - 因此问题......
R=0
G=1
B=2
echo "$R, $G, $B"
for i in {$R $G $B}; do convert $R.tiff $G.tiff $B.tiff -set colorspace sRGB -combine RGB_%d_$NAME.tiff
let "R=$R+3"
let "G=$G+3"
let "B=$B+3"
done
我确实尝试命名一个新变量,例如 ((newvalue=$R+3)) 并将其分配给 R R=$newvalue - G 和 B 相同,但没有变化。仅处理第一张图像。
谢谢。
【问题讨论】:
-
他们应该达到的最高值是多少?
-
根据需要设置,但典型设置为 90 - 120
-
你怎么知道需要多少我猜是我的问题。您是否有变量中的金额,或者做一些事情?
-
图像的数量取决于组合图像时的曝光时间和降噪,可能会达到数百个。开发中的脚本仅使用 3 进行测试,将单独的 RGB 通道作为全局变量。