Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.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 有编程语言吗? 我惊讶地发现StAdvOpject有一个“PS图象处理软件”标签,因为我需要把PS图象处理软件(-Pro,创意云订阅)和编程(我是一个有经验的java,C++,C++ SW工程师)结合在一个艺术项目上。_Image Processing_Photoshop - Fatal编程技术网

Image processing 有编程语言吗? 我惊讶地发现StAdvOpject有一个“PS图象处理软件”标签,因为我需要把PS图象处理软件(-Pro,创意云订阅)和编程(我是一个有经验的java,C++,C++ SW工程师)结合在一个艺术项目上。

Image processing 有编程语言吗? 我惊讶地发现StAdvOpject有一个“PS图象处理软件”标签,因为我需要把PS图象处理软件(-Pro,创意云订阅)和编程(我是一个有经验的java,C++,C++ SW工程师)结合在一个艺术项目上。,image-processing,photoshop,Image Processing,Photoshop,我想创建一个包含多达2000个JPEG文件的文件夹,从第一个文件开始,隔离第一个文件的红色通道、第二个文件的绿色通道和第三个文件的蓝色通道,并将它们合并到一个新的JPEG文件中,然后保存它。然后对接下来的3个文件、接下来的3个文件等重复此操作 我原本计划为C#找到一个JPEG库,并在那里完成所有工作,但如果我能利用Photoshop(我通常用于其他东西),那可能会更容易。Photoshop是否有一种强大的脚本/编程语言,其语法与传统编程语言(条件循环、文件i-o、用户定义变量、函数或子例程等)足

我想创建一个包含多达2000个JPEG文件的文件夹,从第一个文件开始,隔离第一个文件的红色通道、第二个文件的绿色通道和第三个文件的蓝色通道,并将它们合并到一个新的JPEG文件中,然后保存它。然后对接下来的3个文件、接下来的3个文件等重复此操作


我原本计划为C#找到一个JPEG库,并在那里完成所有工作,但如果我能利用Photoshop(我通常用于其他东西),那可能会更容易。Photoshop是否有一种强大的脚本/编程语言,其语法与传统编程语言(条件循环、文件i-o、用户定义变量、函数或子例程等)足够相似?您可以使用Javascript、VBScript(在Windows上)和Applescript(在Mac上)编写Photoshop-

然而,对于这个简单的任务,我将使用安装在大多数Linux发行版上的ImageMagick,它可以在OS X和Windows上免费获得

因此,如果你从这三张图片开始:

您可以在shell/Terminal/Command提示符中键入以下内容:

convert 1.png -separate -delete 1,2    \
     \( 2.png -separate -delete 0,2 \) \
     \( 3.png -separate -delete 0,1 \) -combine result.png
要获得此信息:

该命令获取第一个图像,将其拆分为RGB通道(内部编号为R=0,G=1,B=2)并删除G和B。然后加载第二个图像,将其拆分为RGB通道,删除R和B以及第三个图像,并删除除蓝色以外的所有图像。然后,它将剩余的3个通道组合成一个输出图像


如果您更改扩展名,它对JPEG输入/输出图像的效果将完全相同。

您可以将JavaScript与Photoshop一起使用,但我会使用ImageMagick完成上述操作。你怎么知道哪一个是“第一个”文件和“第二个”。这些文件是由每n毫秒拍摄一次的相机生成的(其中n是600或1000),所以它们的文件名由时间戳组成,所以我可以使用文件名,或者说是真实的创建时间。那么ImageMagick有API吗?在您的示例中,它看起来只接受命令行参数。我认为,在真正的编程语言中,我可以将程序指向一个装满文件的文件夹,读取文件名,按正确的顺序排序,计数并迭代它们,这样做会更容易。如果我想添加其他功能,比如让用户选择频道的播放顺序,将操作限制在感兴趣的区域,或者为其提供一个用户友好的用户界面来浏览输入和输出文件夹,则更是如此。显然,我不知道您的设置-您需要多久进行一次,需要多大的灵活性,或者你使用哪个操作系统。在OSX或Linux上,您在
bash
中所说的事情将非常简单,但如果您在Windows上,可能会更难一些。如果需要,ImageMagick有C/C++、C#、dotNet、Perl、Java和PHP绑定-