質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

Q&A

解決済

2回答

886閲覧

Processing フィルタの円滑化について

Chuchuchu

総合スコア16

Processing

Processingは、オープンソースプロジェクトによるCGのためのプログラミング言語です。Javaをベースにしており、グラフィック機能に特化しています。イメージの生成やアニメーションなど、視覚的なフィードバックを簡単に得ることが可能です。

0グッド

0クリップ

投稿2018/06/04 03:54

編集2018/06/05 01:04

はじめにバイラテラルフィルタを用いてサンプル画像のような表示の実装を考えたのですが回答をもらったけれどうまくprocessingでの実装ができなかったので質問の編集を行いました。
このサンプル画像のようにフィルタがかかったような画像を表示させる(円滑化)ためのなにかいい案はないでしょうか?度々申し訳ございません。
サンプル

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KSwordOfHaste

2018/06/05 01:29

質問内容が変わってしまうのは避けた方が無難です。閲覧者が回答を見た時「この回答者は何でこんな回答してんの?」と見えますよね?本サイトの目的はサポートセンター(質問者のかかえる問題を解決するまでガイドすること)ではありません。一問一答のQ&Aによる「ノウハウの共有」が目的です。その点をよく考えてみてください。
guest

回答2

0

ベストアンサー

数式をプログラムに落とし込むには、その数式を理解する必要があります。

bilateral filter 実装で検索しました。
小飼弾さんレベルになると、「簡単でした」とのたまうくらいには難しい(なんのこっちゃ)ようです。

投稿2018/06/04 04:14

編集2018/06/04 04:30
kazto

総合スコア7196

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

0

https://www.jstage.jst.go.jp/article/itej/62/8/62_8_1268/_pdf

の1ページ目の右上がフィルターの式ということで、ある画像を中心に+/-pだけの範囲の画素の空間距離と画素の距離(モノクロなた単純な画素値の差、RGBならRGB空間上での色の座標の差を表すベクトルを使うんでしょうか・・・)をこの式のとおりに+/-pの画素について計算式のとおりに累積すると結果が出てくるという感じだと思います。式そのものは(二次元の座標を想定すれば)x, yそれぞれの座標を二重ループしながら特定の画素の周りの(2p+1)^2個のピクセルについて計算・累積するようなプログラムになり、それを画像全体に対して施す感じ(まんま実装すると4重ループ)となる感じだと思います。

おそらく式そのものはよいとして、画素の差として何を用いるかが「?」なのではないでしょうか?そこは自身ないのですが、RGBだと前述したとおり、3次元空間上のベクトル(r, g, b)としてやってみたらうまくいくような気がします(やったことないので想像で言ってます・・・)

しかし、自分で実装するのは面倒なものです。下記ページを見るとOpenCVにbilateralFilterというのが実装されているようなのでそのまんま利用するのが簡単ではないかと思います。

https://qiita.com/shim0mura/items/f222082b7ef08de3732e

このページはPythonの例ですが、Javaでも同様の機能が使えるでしょうし、面倒ならProcessingのPythonバージョンを使ってみればよいかも知れません。
(訂正: ProcessingのPythonバージョンは標準のPythonではなくJythonであることを失念してました!JythonはJVMベースのPython実装ですけど、現在リリースされているのはPython 2.7まででしかなく、Python 3.X相当のバージョンは正式にリリースされてません。実際ProcessingのPythonバージョンも2.7相当のものですし、そもそもPythonの非標準モジュールを簡単にimportできるとは言えません。Processingの標準機能の範囲内でPythonモードを使うならよいのですが、OpenCVのようなものを導入しようとするとき、ProcessingのPythonモードはよいアプローチではないと思いましたので、訂正いたします!失礼いたしました。)

投稿2018/06/04 04:30

編集2018/06/06 01:48
KSwordOfHaste

総合スコア18402

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問