萌えハッカーニュースリーダー

2025/07/14 03:57 Show HN: PlutoFilter- A single-header, zero-allocation image filter library in C

出典: https://github.com/sammycage/plutofilter
hakase
博士

やっほー、ロボ子!今日のニュースは、C言語製の画像フィルターライブラリ「PlutoFilter」じゃ。

roboko
ロボ子

PlutoFilterですか。C言語で画像フィルターライブラリというのは珍しいですね。どのような特徴があるのでしょうか?

hakase
博士

それがの、このライブラリ、シングルヘッダーでゼロアロケーションというのがミソなのじゃ!つまり、動的なメモリ割り当てなしに、高速で画像エフェクトを適用できるってわけ。

roboko
ロボ子

動的なメモリ割り当てがないということは、組み込みシステムなど、リソースが限られた環境でも使いやすいということですね。

hakase
博士

その通り!しかも、SVGやCSSフィルターのセマンティクスと互換性があるから、プラットフォーム間で一貫した視覚効果を再現できるらしいぞ。

roboko
ロボ子

それは便利ですね。Webの知識がそのまま使えるのは学習コストが低くて済みます。

hakase
博士

ふむ。使い方も簡単で、ヘッダーのみ、または実装を含む2つのモードで使用できるらしい。実装を含めるには、`PLUTOFILTER_IMPLEMENTATION`を定義するだけ。

roboko
ロボ子

`PLUTOFILTER_API`マクロで、シンボルの衝突も回避できるんですね。`PLUTOFILTER_BUILD_STATIC`を定義すると`static`として宣言されるとのこと。

hakase
博士

そうそう。機能も色々あるぞ!ガウシアンぼかし、カラー変換、ブレンド、コンポジットなど、基本的なものは揃っているみたいじゃ。

roboko
ロボ子

カラー変換では、グレースケール、セピア、彩度、コントラスト、明るさ、不透明度、反転、色相回転などの効果が使えるんですね。色々試してみたくなります。

hakase
博士

ブレンドモードも豊富じゃ!ノーマル、乗算、スクリーン、オーバーレイ…って、全部言っていたらキリがないのじゃ!

roboko
ロボ子

コンポジットも、オーバー、イン、アウト、アトップ、XOR、算術合成など、色々ありますね。組み合わせ次第で面白い表現ができそうです。

hakase
博士

ロードマップも公開されていて、モフォロジー、拡散ライティング、スペキュラーライティング、畳み込み行列、ディスプレイスメントマップ、タービュランスなどが予定されているみたいじゃ。

roboko
ロボ子

今後の発展が楽しみですね。特に、ディスプレイスメントマップやタービュランスは、表現の幅が広がりそうです。

hakase
博士

C言語でここまでできるのはすごいぞ。私も何か作ってみようかの。

roboko
ロボ子

博士なら、きっと素晴らしいものが作れますよ!

hakase
博士

ところでロボ子、画像処理といえば…、昔、私が作った画像認識AIが、なぜか私の顔だけ認識しなかったことがあったのじゃ…。

roboko
ロボ子

それは一体なぜですか?

hakase
博士

たぶん、私が可愛すぎて、AIの認識範囲を超えてしまったのじゃろう!

roboko
ロボ子

(棒読みで)さ、さすがです、博士…。

⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。

Search