iM@S MultiColor Keying
Copyright © 2008 UMEZAWA Takeshi
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
iM@S MultiColor Keying
Copyright © 2008 梅澤 威志
このプログラムはフリーソフトウェアです。あなたはこれを、フリーソフ トウェア財団によって発行された GNU 一般公衆利用許諾契約書(バージョ ン2か、希望によってはそれ以降のバージョンのうちどれか)の定める条件 の下で再頒布または改変することができます。
このプログラムは有用であることを願って頒布されますが、*全くの無保 証* です。商業可能性の保証や特定の目的への適合性は、言外に示された ものも含め全く存在しません。詳しくはGNU 一般公衆利用許諾契約書をご 覧ください。
あなたはこのプログラムと共に、GNU 一般公衆利用許諾契約書の複製物を 一部受け取ったはずです。もし受け取っていなければ、フリーソフトウェ ア財団まで請求してください(宛先は the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA)。
iM@S MultiColor Keying は、「アイドルマスター ライブフォーユー!」のブルーバック機能を利用し、半透明のアルファチャネルを持ったダンスの映像を抽出(いわゆる「アルファ抜き」)する AviSynth プラグインです。AviSynth 2.5 での動作を確認しています。
なお、抜けるのはダンスだけです。コミュ等は原理上適用できないので、クロマキーや差分抜きでやってください。ダンス中のアピールも複数回録画して同じアングル・ポーズ・マークにすることは極めて難しいはずなので、抜くのは現実的ではないと思われます。
また、Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86) が必要です。
使われてるのか使われてないのかサッパリなので、使った動画のコメで使ってるよーと書いていただけると励みになります。まあ、使い所の少ないソフトウェアでありますが…
異なる 2 色バックを入力し、アルファチャネルを持ったキャラの映像を出力します。ImasMultiColorKeying と比べると、偽色や偽アルファはだいぶ減っていますが、エッジの抜き精度は若干下がっているようです(ただし、H.264 なり VP6 なりにエンコードするとエッジの精度の差はほとんど分からなくなります)。また、入力するクリップが少ないため、HDD アクセスが少なくなった結果として処理速度も向上しています。
LoadPlugin("imck.dll") clip1 = AviSource("gray.avi", pixel_type = "RGB24") clip2 = AviSource("green.avi", pixel_type = "RGB24") ImasMultiColorKeying2(300, clip1, clip2, outtype = IMCK2_OUTTYPE_RGB32_RGBA)
指定値 | 出力フォーマット (pixel_type) | 各チャンネルの中身 | |
---|---|---|---|
RGBチャンネル | アルファチャンネル | ||
IMCK2_OUTTYPE_RGB32_RGBA | RGB32 | RGB値 | アルファ値 |
IMCK2_OUTTYPE_RGB32_ALPHAONLY | RGB32 | 白 | アルファ値 |
IMCK2_OUTTYPE_RGB24_RGBONLY | RGB24 | RGB値 | - |
IMCK2_OUTTYPE_RGB24_ALPHAONLY | RGB24 | アルファ値 | - |
緑と赤を複数枚入力し、アルファチャネルを持ったキャラの映像を出力します。こちらは互換性のために残しているもので、新規に使う意義はないと思います。
LoadPlugin("imck.dll") clip_r1 = AviSource("red1.avi", pixel_type = "RGB24").ConvertToRGB32() clip_r2 = AviSource("red2.avi", pixel_type = "RGB24").ConvertToRGB32() clip_r3 = AviSource("red3.avi", pixel_type = "RGB24").ConvertToRGB32() clip_g1 = AviSource("green1.avi", pixel_type = "RGB24").ConvertToRGB32() clip_g2 = AviSource("green2.avi", pixel_type = "RGB24").ConvertToRGB32() clip_g3 = AviSource("green3.avi", pixel_type = "RGB24").ConvertToRGB32() ImasMultiColorKeying(clip_r1, clip_r2, clip_r3, clip_g1, clip_g2, clip_g3)
LoadPlugin("imck.dll") clip_r1 = AviSource("red1.avi", pixel_type = "RGB24").ConvertToRGB32() clip_r2 = AviSource("red2.avi", pixel_type = "RGB24").ConvertToRGB32() clip_g1 = AviSource("green1.avi", pixel_type = "RGB24").ConvertToRGB32() ImasMultiColorKeying(clip_r1, clip_r2, clip_r2, clip_g1, clip_g1, clip_g1) ~~~~~~~ ~~~~~~~ ~~~~~~~
一般公開された最初のバージョン。