2024/07/16(火) [n年前の日記]
#1 [cg_tools] スクリーントーンを除去したい
日本の漫画は白黒印刷を前提にしているため、スクリーントーンを貼ることで、白黒しか印刷していないのにグレーの諧調もあるように見せかけているわけだけど。そのスクリーントーンを除去する方法はあるのかなと気になってきた。
どうしてスクリーントーンを除去したいかというと…。画像生成AI Stable Diffusion web UI に下絵として漫画画像の類を入れる際に、スクリーントーンの模様が残っていると都合が悪いのではないかと邪推しているから。ControlNet の Cannyプリプロセッサを使えば、漫画っぽい画像を渡して、それに沿った形で画像生成できるのではないかと予想して試していたのだけど、プリプロセッサの出力画像を眺めると、どうもスクリーントーンが貼ってある部分でゴチャゴチャしたノイズのような情報が大量に発生している気がして…。そして、その部分の画像生成結果もなんだか今一つに思えるというか…。
ただ、スクリーントーンの除去を画像処理でできるのかどうかが分からない。まずはそこから調べてみないと…。
どうしてスクリーントーンを除去したいかというと…。画像生成AI Stable Diffusion web UI に下絵として漫画画像の類を入れる際に、スクリーントーンの模様が残っていると都合が悪いのではないかと邪推しているから。ControlNet の Cannyプリプロセッサを使えば、漫画っぽい画像を渡して、それに沿った形で画像生成できるのではないかと予想して試していたのだけど、プリプロセッサの出力画像を眺めると、どうもスクリーントーンが貼ってある部分でゴチャゴチャしたノイズのような情報が大量に発生している気がして…。そして、その部分の画像生成結果もなんだか今一つに思えるというか…。
ただ、スクリーントーンの除去を画像処理でできるのかどうかが分からない。まずはそこから調べてみないと…。
◎ 検索キーワードについて :
ググった感じでは、「descreen」「remove halftone」「網点除去」「モアレ除去」といった検索キーワードで関連情報を見つけることができそうではあるなと…。より広義の呼び方として「ノイズ除去」もあるけれど、さすがにそこまで行くと対象範囲が広過ぎて、スクリーントーンの除去とは関係ない話が出てきてしまう。
◎ CLIP STUDIO PAINT EXで除去できるらしい :
「スクリーントーン 除去」でググったら、CLIP STUDIO PAINT EX (値段が高い版)に、「トーンを消去」という、そのものズバリの処理をしてくれるプラグイン(?)が付属しているらしいと知った。AIを利用して処理をするらしい。
_CLIP STUDIO PAINT に機械学習(AI)の技術を活用したトーン消去機能を搭載 電子書籍制作におけるマンガのカラーリングを効率化 | CELSYS
自分が持っている CLIP STUDIO PAINT は、値段が高いEX版ではなく値段の安いPRO版なので、どの程度の効果が得られるのか確認のしようもないけれど。プロの漫画家さんなどはEX版を使ってたりするのだろうから、スクリーントーンの除去もサクサクできるのかもしれないなと…。
_CLIP STUDIO PAINT に機械学習(AI)の技術を活用したトーン消去機能を搭載 電子書籍制作におけるマンガのカラーリングを効率化 | CELSYS
自分が持っている CLIP STUDIO PAINT は、値段が高いEX版ではなく値段の安いPRO版なので、どの程度の効果が得られるのか確認のしようもないけれど。プロの漫画家さんなどはEX版を使ってたりするのだろうから、スクリーントーンの除去もサクサクできるのかもしれないなと…。
◎ Windows版GIMPでも利用できるらしい :
Windows版のGIMPも、「Descreen」というスクリプト+プラグインを追加すれば、網点除去というか、モアレ除去ができるらしいと知った。
_Descreen
_Descreening or removing moire? - GIMP Chat
_How to Remove Moire Patterns by Descreening in GIMP
_Descreen | GIMP Plugin Registry (WebArchive)
処理内容としては、descreen.scm という Script-Fuスクリプトから、fast fourier transform (FFT) plugin (fourier.exe) を呼び出して処理をするらしい。
ただ、Windows10 x64 22H2 + GIMP 2.10.34 Portable 上で試用してみたけれど、使い方がさっぱり分からなくて、期待した結果は得られなかった。これってどうやって使うんだろう…?
また、前述のページで入手できる FFT plugin のバイナリは、Windows 64bit用のバイナリだけらしいので、Linux環境では使えないのかもしれない。
_Descreen
_Descreening or removing moire? - GIMP Chat
_How to Remove Moire Patterns by Descreening in GIMP
_Descreen | GIMP Plugin Registry (WebArchive)
処理内容としては、descreen.scm という Script-Fuスクリプトから、fast fourier transform (FFT) plugin (fourier.exe) を呼び出して処理をするらしい。
ただ、Windows10 x64 22H2 + GIMP 2.10.34 Portable 上で試用してみたけれど、使い方がさっぱり分からなくて、期待した結果は得られなかった。これってどうやって使うんだろう…?
また、前述のページで入手できる FFT plugin のバイナリは、Windows 64bit用のバイナリだけらしいので、Linux環境では使えないのかもしれない。
◎ Pythonスクリプトで処理 :
GIMP の Descreen プラグインを Python で実装してみたものもあるらしい。
_6o6o/fft-descreen: An fft-based descreen filter
_印刷物からスキャンした画像の網点除去 - burroの日記
ソース内の import 行からして、cv2 (OpenCV) と numpy を利用して処理をしているのだろう…。とりあえず、Python さえ導入できれば、このスクリプトを利用して、GIMP の Descreen プラグインと同じ処理ができる可能性がありそう。もっとも、実際に手元で試用してないので、本当にそうなのかちょっと自信無いけど。
_6o6o/fft-descreen: An fft-based descreen filter
_印刷物からスキャンした画像の網点除去 - burroの日記
ソース内の import 行からして、cv2 (OpenCV) と numpy を利用して処理をしているのだろう…。とりあえず、Python さえ導入できれば、このスクリプトを利用して、GIMP の Descreen プラグインと同じ処理ができる可能性がありそう。もっとも、実際に手元で試用してないので、本当にそうなのかちょっと自信無いけど。
◎ G'MICで処理 :
GIMP や Krita から呼び出して利用できる G'MICというフィルタ集があるのだけど、この G'MIC の中にも「descreen」というフィルタがある。
_G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main
GIMP 2.10.34 Portable + G'MIC-Qt 3.2.4 で確認したところ、以下の2つがあった。検索欄に「descreen」と打ち込むとリストアップされる。
更に、Fourier Transform というフィルタもあって、コレを利用することでも、モアレ除去/網点除去ができる模様。以下の動画で使い方が紹介されてる。
_G'MIC Tutorial #3 : Descreen Image using Fourier Transform - YouTube
動画を参考にして試してみたけれど、たしかにスクリーントーンっぽい部分をある程度は除去することができた。
ただ、動画内でも説明されているけれど、Fourier Transform だけでは微妙にゴミが残るので、Smooth [median]も利用すると更に結果が改善される。
_G'MIC - GREYC's Magic for Image Computing: A Full-Featured Open-Source Framework for Image Processing - Main
GIMP 2.10.34 Portable + G'MIC-Qt 3.2.4 で確認したところ、以下の2つがあった。検索欄に「descreen」と打ち込むとリストアップされる。
- Repair → Descreen
- Testing → lain Forgusson → Grey Descreen
更に、Fourier Transform というフィルタもあって、コレを利用することでも、モアレ除去/網点除去ができる模様。以下の動画で使い方が紹介されてる。
_G'MIC Tutorial #3 : Descreen Image using Fourier Transform - YouTube
動画を参考にして試してみたけれど、たしかにスクリーントーンっぽい部分をある程度は除去することができた。
ただ、動画内でも説明されているけれど、Fourier Transform だけでは微妙にゴミが残るので、Smooth [median]も利用すると更に結果が改善される。
◎ Photoshopで処理 :
Photoshop で処理する場合は、ガウスぼかしをかけてから、アンシャープマスクフィルタをかけてクッキリさせるやり方があちこちで紹介されていた。
試してみたところ、たしかにスクリーントーンは消えるけど、主線がなかなか酷いことになるようだなと…。
ただ、Photoshop の場合、サードパーティの有料プラグインを導入するとイイ感じの結果が得られる、という話も見かけた。
_網点除去Photoshopプラグイン「Sattva Descreen」が凄まじくプロ仕様!で印刷関係者歓喜だよ! - やもめも
_網点(ハーフトーン)を除去するPhotoshopプラグイン | The Strange Storage
_Sattva Descreen plug-in for Adobe Photoshop
以下のようなものもあるらしい。
_Pattern Suppressor for Photoshop
試してみたところ、たしかにスクリーントーンは消えるけど、主線がなかなか酷いことになるようだなと…。
ただ、Photoshop の場合、サードパーティの有料プラグインを導入するとイイ感じの結果が得られる、という話も見かけた。
_網点除去Photoshopプラグイン「Sattva Descreen」が凄まじくプロ仕様!で印刷関係者歓喜だよ! - やもめも
_網点(ハーフトーン)を除去するPhotoshopプラグイン | The Strange Storage
_Sattva Descreen plug-in for Adobe Photoshop
以下のようなものもあるらしい。
_Pattern Suppressor for Photoshop
[ ツッコむ ]
以上です。