画像処理 15枚目 [転載禁止]©2ch.net
画像処理プログラミングについて質問、議論を行うスレッドです ・画像処理について素人同士で大激論 ・初学者の質問に対してやさしく(的を外れた)解答を与える ・その道の玄人も大歓迎 event.target.result のevent って引数とか見当たらない eventって何処で定義宣言してるの。グローバル変数ぽいけど グローバル変数よりグローバルなグローバル変数だな 超超グローバル変数って考えようっと by 🥳 eventって超超グローバル変数❓、アホか! てか予約語だよな?! ってか、バイト配列で関数スコープの外側で宣言するのは ま、アリだろうけど、かつ可変長にするのは難しい。 javascript言語はカンタンとの地球人らによる定説うそだな C言語クラスの難解さを有するぞ。ポインターより難しい ポインター、そう あれは、超超ポインター変数だな by 👤 ランベルト宇宙人 超超ポインター変数❓ 自称宇宙人のランベルト宇宙人は頭はバカなの❓ by 🥳 アレなテスター どっかーーん。これ地球のサンプルを魔改造 わかりやすいよ var ❤ = document.getElementById("📕"); var 💙 = document.getElementById("📘"); //各キャンバスのコンテキストを取得 var 🍎 = ❤.getContext("2d"); var 🫐 = 💙.getContext("2d"); var {w, h} = 📕; //Canvasのサイズ //入力イメージの配列ゲット var 🔴 = 🍎.getImageData(0, 0, w, h); var 🟥 = 🔴.data; //出力イメージの配列ゲット var 🔵 = 🫐.createImageData(w, h); var 🟦 = 🔵.data; //1ピクセル毎に処理やる var i; for(i = 0 ; i < w * h; i++){ var p = i * 4; //RGB値はメインをそのまま 🟦[p] = 🟥[p]; 🟦[p + 1] = 🟥[p + 1]; 🟦[p + 2] = 🟥[p + 2]; //alpha値は0かな 255 暫定128? 🟦[p + 3] = 128; // 0か255にしろ } //Canvasに戻す 🫐.putImageData(🟦, 0, 0); 🟦[p] = 🟥[p]; //🔴色の画素 🟦[p + 1] = 🟥[p + 1]; //🟢色の画素 🟦[p + 2] = 🟥[p + 2]; //🔵色の画素 ってコメントいれろーーー ってか🟦[p]が赤色画素って紛らわしいです。 by 🤡 絵文字の変数名でもナカナカいいやつ見つからん 地球人にはまだ、本当の文字は知らん。 てか、なんだな、絵文字ぢゃないと、更にイミフだ てか、テストもしてないし、99.999・・・% バグると思うがバグ確率100%を超えないぜ by 👤 バグは100%ぢゃないから、バッチリぢゃーーん by 🥳 んー、ってことは、ビットマップ54byte目 (0か1からかどっちかたが数えて)が 赤画素の🟦[0]というわけだ。 by 🤡 チョイちがう。ビットマップの54byte目は、 画素🟦[4 * w * h] の辺りか いや 画素🟦[4 * w * (h-1)]かな わかんない コーディングのときジックリ考えます。 てか、それより早くつくれーーー バグっていいぢゃーーーん by 👤 宇宙人は数学が地球人より無限大スゴいって 設定なのに、何かだめだなーー 地球人でもすぐにわかりそうだよーーーん by 🥳 >>831 ランベルトよ。下記のコード //出力イメージの配列ゲット var 🔵 = 🫐.createImageData(w, h); var 🟦 = 🔵.data; だけとさ、 //出力画像用の1次元バイト配列変数 Dim 🟦[*] as byteだぜ var 🟦 = 🫐.createImageData(w, h).data; って修正しておけ てかこれで良いか知らんが by 🤡 自称プロマネ No,地球人のくせに難解意味不明なコメントいれるな by 👤 自称宇宙人 たまには、宇宙人いいこと言うな キャンバスタグそれだ JS✦128.html やる 内部ハードコーディングの バイト配列をcanvasタグに表示 RGBA 32bppのようだ てか、その前に canvasタグ 自主サンプル作ろう JS✦256.htmlを、作成検討 ※CANVAStoPNG ※5/14のメール ※BMP→CANVAS→PNGも視野 ま、画質が劣化しないか 気になる。これ杞憂かも JS✦384x.htmlを、作成検討 ※PNG→CANVAS→PNG ↑ web画面から画像補正(γ補正等) by 🤡プロマネ、今後の方針てか夢語る 夢って、正夢❓、悪夢語るだろゲラゲラ by 🥳バカっテスター >>835 の方針というか夢は、 CANVAS→PNG がファイルサイズ固定 となりそうだ。javascript側で変更やっても 無視される。そんな霊感がある。 by 👤 javascript側でやっても変更できないなんて エラーにもならずにそうなら、嵌る予感しかない 方針性修正とする by 🤡 ちぇ、そのままやれば悪夢のハズ つまんないの by 🥳 JS✦224.htmlは下記で作成検討 BMPfile ↓ バイト配列→CANVASへ表示 ↓ バイト配列←🙎画像補正(γ補正等) ↓ バイト配列→CANVASへ表示 ↓ BMPfile なお、既に JS✦96.htmlは下記で作成完成済である BMPfile ↓ バイト配列→バイナリビューワ ↓ バイト配列←画像を白黒に編集 ↓ バイト配列→バイナリビューワ ↓ BMPfile ∴JS✦224.htmlは、JS✦96.htmlと JS✦128.htmlの機能を継ぎ接ぎする。 by 👤 宇宙人 慎重に検討する by 🤡 プロマネ 継ぎ接ぎだからすぐできるぢゃん by 🥳 修正差分はJS✦224.htmlは対JS✦96.htmlは 【ステップ1】 ❌バイト配列→バイナリビューワ ⭕バイト配列→CANVASへ表示 【ステップ2】 ❌バイト配列←画像を白黒に編集 ⭕バイト配列←🙎画像補正(γ補正等) だな。慎重∧じっくり魔改造でイケるハズ by 👤 ランベルト宇宙人 素晴らしい計画書だ。 バイト配列は、24bbp BMPで 1画素はGBR順の24bitだ。そして 🍇をコンテキストしたバイト配列 🍇.createImageData.dataは、 1画素はRGBA順の32bit だ by 🤡 PGの魔改造OK GOGo Go by 👤 魔改造でバグれーー by 🥳 🤡 >>831 のステップ1 実装完了 CANVASへの表示画像が上下逆だし、変なノイズ が入るが、画像編集は、従来通り白黒変換バッチリ。 表示がバグっただけ。すなわち情報系統のみのバグだ、てか今日はデバッグっで忙しいぜぇーー てか、バグってもキャンバスにバイトデータが 表示だぜ。我ながらやるーーーー 🥳バグってるのに自画自賛してる。プロマネ失格ーーー 👤ま、画像が上下逆になるのは、地球人ならよくやるバグだ。地球人の中では超超有能な設計だ ま、オレが上下逆のデバッグやる。てか以下の通りだ ❌ for (var y=0; y<h ; y++) ⭕ for (var y=h-1; y>=0 ; y--) だ by 👤 ループ脱出のときyが−1になれば、ループ脱出だが ループ脱出のときyがゼロのままなら、無限ループだろ by 🤡 どうやら、yはサイン付の数値として宣言されるのだろ。 ま、ここがjavascriptのダメなとかな。 by 👤 テストしたら無限ループになりません。 javascriptはプログラミング初心者にも易しい。 てか、宇宙人とプロマネのレビュー、低すぎー🐴🦌なのー? by 🥳バカッテスター 怒るというか喜ぶ >>838 の 1画素はGBR順の24bit は 1画素はBGR順の24bit だ。実装はこの通りで無問題 従来の設計 ※BMPFile ↓ バイト配列BBB→CANVASへ表示 ↓ バイト配列BBB←🙎画像補正(γ補正等) ↓ バイト配列BBB→CANVASへ表示 ↓ BMPFile 新たなる設計 ※BMP ↓ バイト配列BB1→CANVASへ表示 ↓ 🙎画像補正(γ補正等) ↓ バイト配列BB2→CANVASへ表示 ↓ BMP 補足 BB1とBB2は異なるメモリ空間 BY 🤡 あのでかいバイト配列を2つも使うの❓ 設計的にダメですっ。バグるといいな BY 🥳 3000万バイト2つで済ませるなら、 画像編集プログラミングやりやすい BY 👤 HAHAHA CANVASの表示とダウンロードファイル 一致しないオペレーションが存在するようだ BY 👤 >>843 ………ん、 【1回目読込】→【補正】→ 【別の2回目読込】→【ダウンロード】 だと、CANVASには2回目読込のが表示 しかし、ダウンロードは1回目読込のを 書き込むか、 机上レベル半端ないな 理由が 「一致しないオペレーション存在」 との指摘も、鋭い思考回路だ BY 🤡 自称宇宙人の宇宙人って思考回路バカ❓ BY 🥳 BMPfile ↓ 【読込クリック】 ↓ バイト配列BB@→CANVASへ表示 BBAは仮初期化とする🌟 ↓ 【🙎画像補正(γ補正等)】 ↓ バイト配列BBAに補正後のをセット バイト配列BBA→CANVASへ表示 ↓ 【ダウンロードクリック※】 ↓ BMPfile ※BBAは初期化(仮初期化も含む)なら ダウンロードクリックしても 何もしない∴ダウンロードさせない。 また、何にもしないけど、だがしかし 「画像補正前のをダウロードするな」 という超超警告アラートを表示トスっ BY 🤡 すでにコーディング工程なのに まだ設計してるの❓クソなの❓ てか、超超警告アラートって alert('ダウロードするな');ってコーディングするだけぢゃーーーん。超超大袈裟 BY 🥳 でさ、バイト配列BBAってどう実装するんだ モピロン、OOPてか、BB2クラスを作る これが、地球のお手本的なコーディングスタイル by 👤 んー、超モピロン、オレッちは超超OOP 的なコーディングでやる。 グローバル変数てか、いきなり var BB2✦ = new ArrayBuffer(3000万) var BB2🧐 = new Unit8Array(BB2✦) var BB2📏 = 0; //初期値は0byteの意 だ。てかイミフとは思うが これが、BB2クラーーーース BY 🤡 単なるバイト配列が一つと変数が1つだ マッタク、OOPとかクラスですら無い BY 👤 滅茶苦茶なの? はやく実装しようよ。バグっていいぢゃーーーん BY 🥳 γ補正は、教科書的には 🔴 = 255 * Math.power((🔴/255),(1/γ)); 🟢 = 255 * Math.power((🟢/255),(1/γ)); 🔵 = 255 * Math.power((🔵/255),(1/γ)); さて、最大値を255の20%だけ低くしたい チミならどうする? なお、モチロン 255の80%は204で、20%は21 だ BY 🤡 自称プロマネ 🔴 = 255 * Math.power((🔴/255),(1/γ)); 🔴 -= 21; バッチリ、その文章を完全に実装したぜ トーシロは 🔴-= 21;は 🔴=🔴-21; っするけど、まあいいけど 超醜いぜ。ポクのコード大正解\(^o^)/ by 🥳バッカテスター 画像処理センスのある生物なら地球人でも 🔴 = 204 * Math.power((🔴/255),(1/γ)); とするだろう。 モピロン、我がランベルト星人も同様で そう、センスてか霊感的に、以下で即答だ 🔴 = 204 * Math.power((🔴/255),(1/γ)); by 👤 ランベルト星人 てかさ、>>847 で255の20%は21 ってプロマネ 書き込んでるけどさ、それ51だ それとさ、バッカテスターなんだ 21を信用してさらに、🔴−=21; ま、🔴-=51; に改修してもセンス最悪 地球人のレビューって最早、最低すぎて治療不可能 by 👤宇宙人ボヤく┐(´д`)┌ヤレヤレ 画素🔴のγ補正は、教科書的には 🔴 = 255 * Math.power((🔴/255),(1/γ)); 最大値を255の20%だけ高くしたい 255の120%は306 で255をオーバーする どうコーディングする? by 🤡 🔴 = 306 * Math.power((🔴/255),(1/γ)); if (🔴>255) 🔴=255; ちなみに、 🔴+=51とかするヤツ。恥ずかしくねぇ? by 🥳 ガンマ補正は明るくする場合に効果ある 普通に🔴+=51やると白とびしまくる。 そもそも最大値を306にしろという設問が 変だな。 ま、敢えてやればガンマ補正を強くして γ = 1.2 * γ 🔴 = 306 * Math.power((🔴/255),(1/γ)); かな。ま、明るさが64付近で1.2倍明るいが 明るさ255近傍(たとえは240付近)では ほぼ普遍で白とびはしない。 これがランベルト星の数理哲学と霊感の 画像処理哲学的超超超・・セオリ〜理論だ by 👤 地球のブラウザに転がってるJavascriptを実行させれる やつで、 var i=1; var x=i+i+(i+"です"+i+i+i); console.log(x); の結果予想通りではあったが、んーーーって感じ 文字列と数値を自動で正しく判断はしてるが 気持ちワルイ。 by 👤 It is,Yes by🤡 I like it as Javascript by 🥳 てかさ、ランベルト星人よ 🔴 = 306 * Math.power((🔴/255),(1/γ)); のMath.powerとかいう関数ぽぃ関数 それ、Math.pow ぢゃね てかさ演算子 ** ぢゃね by 🤡自称プロマネ γ補正は、教科書的には ⚫ = 255 * Math.power((⚪/255),(1/γ)); だけどさ、画像を暗めにしたいとき γ<1だからさ、 例えばさ、画像を暗めにしたいとき γ=0.75とするぢゃーん。スナワチ、 ⚫ = 255 * Math.power((⚪/255),(1/0.75)); てかさ、教科書通りやるとさ、 地球人的にはコントラストが高くなってさ ギラギラした感じになるヂャーーーーん てか、単に、 ⚫ = 255*0.75*⚪; だと ギラギラ感はないけど、自然だけど コントラスト感が物足りないしさー グダグダ、なんとかかんとか、・・・ by 👤 あのねーーー それ、Math.pow ぢゃね てかさ演算子 ** でコーディングやれよ by 🤡自称プロマネ ❌ ⚫ = 255 * ((⚪/255)**(1/0.75)); ❌ ⚫ = 255*0.75*⚪; は、ま、以下の感じで 🙆 ⚫ = 255*0.8 * ((⚪/255)**(1/0.8)); だと、ギラギラ感もなく、 コントラスト感も少しあって自然で 見易くなるな by 🤡 自称プロマネてか画像処理ヲタク Math.pow やめて**にしたから 自然で見易くなって訳か。 コントラストは変わらないけど見易く by 🥳 話が噛合んグダグダテスター J✦226.htmlは、徹底テストしてないけど J✦226.htmlは、少しテストしたから、 J✦226.htmlは、完了トスル で、 J✦256.htmlを次の仕様でつくれーーーー [拡張画面表示]ボタン追加 それクリックで下記画面が現れる ────────── 拡張画面 [x] 色相 [ ]〜[ ] 彩度 [ ]〜[ ] 明度 [ ]〜[ ] ────────── 画像処理等ロジックは要らん 単に、上記画面出すだけ。今すぐやれー by 🤡自称プロマネ 何時かてか今出来る J✦256?、そっかJ✦226に組み込むか? by 👤 なんで、てかイミフ by 🥳 オレの霊感だと、J✦256が完成の暁には J✦485というhtmlをつくれーーーーって プロマネは言う。霊感的中率99.9…% by 👤 バージョン管理を見通せてる。 霊感力てかセンス半端ないな by 🤡 今すぐJ✦485.htmlすればいいぢゃんby🥳 👤 No,∵急がば回れをよく知ってる地球人なら変人扱い。∵2進数でバージョンを管理してる HSLとHSVの違いがなんかイミフてか明度的には、 HSL(色相・彩度・輝度)モード。 輝度= 0.299R + 0.587G + 0.114B HSV(色相・彩度・明度)モード。 明度=100×(最大値+最小値)/(2×255) らしい。 てなわけで、今度のはHSVだな てか、オレッち流魔改造HSVとする (R,G,B)=(255,0,0) の明るさと (R,G,B)=(128,128,128) の明るさ等しい のは悪くないな。そこはオレのとHSV同じ 明度=100×(最大+中央)/(2×255)だ ロジック的には 明度=100×(3色合計−最小値)/(2×255) これが、オレッちの明度哲学だ。 by 🤡プロマネ。完全な画像処理ヲタク 明度=100×(最大+最小)/(2×255)だろ。 プロマネ、最小値と中央値の違いも解らなくなっちゃってる 🐴🦌なの。ナンナの?。ヨウチエン児なの❓ by 🥳 最小値が🟦青画素、てか、🟦画素が最小値の画素の場合は 明度=100×(3色合計−ゼロ)/(2×255)が地球人の色覚に 合ってはいるが、彩度と明度の区別が意味の違いを 判別出来ない知能の地球人には、んーーーどうでも良い話し fufufu by 👤宇宙人のナゾの微笑み てかそろそろ実装GoGoGo ❌ 明度=100×(3色合計−ゼロ)/(2×255) 青を一時的にゼロと考えて 明度=100×(3色合計−ゼロ)/(2×255)というか、とにかく、 青が最小値というか最小値が、🟦の場合では、 明度=正規化🟥+正規化🟩 だてか、地球語に翻訳できん。 早く、コーディングさせろ。プログラミング言語の方が 表現しやすい 宇宙人やテスターがオレッちの 🤡流の明度計算理論にケチつけてるけど キニシナイ。てか、 明度 = 🔴+🟢+🔵 - Math.min(🔴, 🟢, 🔵); キーーーメタっ 色相は、🔴⇒0° 🟢⇒120° 🔵⇒240° なんやかんやで、灰色近傍で誤差無限だな ブツブツ・・・ そうだ、彩度、これなんだよな なんかしっくりする数式んーー暫定的には min = Math.min(🔴, 🟢, 🔵); max = Math.max(🔴, 🟢, 🔵); max : min が無限大で彩度100 max : min が1で彩度0 だろ てか、こらー宇宙人、チミはどうする? ブツブツ・・・ by 🤡自称プロマネは画像処理ヲタク 彩度%=100×(最大値−最小値)/255 という説や 彩度=255×(最大値−最小値)/(255−|最大値+最小値−255|) という説がお前らの地球に存在する ワレワレ宇宙人は、 当数式をパクり正規化して使用してるぞ ⚪=Math.max(🔴,🟢,🔵)/255; //正規化 ⚫=Math.min(🔴,🟢,🔵)/255; //正規化 彩度=⚪−⚫; ・・・・@ 彩度 *= 255 //デス正規化 @式は、 彩度=(⚪−⚫)➗(⚪+⚫−1);なら更良い by 👤 彩度=(⚪−⚫)➗(⚪+⚫−1); てか 彩度=(⚪−⚫)➗(⚪+明度−1); かな ただし明度は、 🤡流の明度計算理論である 明度 = 🔴+🟢+🔵 - Math.min(🔴, 🟢, 🔵); にしようかな。どうしようかな〜 by 🤡 早く実装してバグれーーー by 🥳 例えば RGB=(240,160,128) の彩度と RGB=(120,80,64) の彩度は同じにすべき ∴ ❌彩度%=100×(最大値−最小値)/255 なんだ。さてと彩度の数式どうしよっか BY 🤡の呟き 彩度の秘伝の数式 只今霊感で作成中 BY 👤 RGB=(255,255,0)の画像をγ補正であかるく変化しねーー バグだよな。BY 🥳 鮮やかな🟡か、γ補正で明るくしたくても無理か。仕方ないBY🤡 如何なる有限値のγで0をγ補正しても0であり 如何なる有限値のγで255をγ補正しても255である。 プログラムのバグでなく、地球人の視覚野の認知機能のバグである by 👤自称宇宙人のトンデモ論 てか、仕方ないとか言ったけど微妙に訂正 RGB=(255,255,0) RGB→HSV変換してVを上げて、HSV→RGBすれば明るくなるな BY 🤡 それは、地球人らしい愚かな発想だ。 黄色系統特に純色の黄色🟡は白◯より目立つではないか HSVのVを上げても既にRGは飽和しており、Bが上がるかも すなわち、それだと鮮やかさは喪失となり そのような愚かなロジックで明るく補正しても 逆効果の確率が濃厚なのだ。ま、地球人だから愚かなな ロジックや、発想はやむを得ない BY 👤宇宙人は自称なのに、自分に酔いしれる ガンマ補正 gamma correction ってさ、🇯🇵で2は、海外では1/2の意味だ あの画像処理入門の本、誤りかと思ったが 地球人の🇯🇵が2を1/2と勘違いしてるようだ。 大きい方が明るいという霊感は、 ホントは違うのだ。まったく、 🇯🇵は全員同じように勘違いしてるってか 逆数って知ってるのか。 by 🤡 ゲラゲラ 地球人の中で🇯🇵は数学力はマシと思ったが、地球人よりも🐴🦌だ。 逆数を理解できない🐴🦌だ。 by 👤宇宙人、またもやトンデモ論語る 1/2と2って等しくないの?等しいの? 同じでいいぢゃーーん、バグっていいぢゃーーん 地球の教科書バグだらけぢゃーーーん やっほーーー by 🥳 何か🤡と👤が、テキトーこと言ってるけどさ 例えば🟡より明るくすると暗くなるたとか。 頭へんですよーーー。 てか、RGB=(255 255 0)は明るさは既に100% それより明るい値が入力可能な前提で議論してるけど 明るさ100%より明るい値は入力出来ないので 🟡より明るい色は入力できませーーーん。多分 この世に存在しないんぢゃないなーーー てか、 霊感テキに 「RGB」と「HSV」を相互変換でググることよい。ぢゃーね BY 🥳 ふと、閃いた。 クロマキー処理なんだけど ターゲット色に似た色を検出する訳だけど なんて言うかな、どうも地球の既存ソフト って今一つなんだな。てか 我が銀河系では、以下のような感じだ てか、今閃いた。 ⚪ =math.Max(🔴,🟢,🔵) ⬜ =math.Max(🟥,🟩,🔵) ❤ = ⬜/⚪*🔴 💚 = ⬜/⚪*🟢; 💙 = ⬜/⚪*🔵; d = (❤-🟥) ** 2 + (💚-🟩) ** 2 + (💙-🟦) ** 2; このdが小さければ(霊的に666未満)のとき たとえ、(🔴,🟢,🔵)≠(🟥,🟩,🔵)でも (🔴,🟢,🔵)∈(🟥,🟩,🔵) か若しくは (🔴,🟢,🔵)∋(🟥,🟩,🔵) となる確率は 濃厚と予言ていうか予知できる by 👤 宇宙人の滅茶苦茶な地球語でした なに、意味不明な、絵文字列な、数学的な、数式的な、行列 by 🥳 おそらくは、🍎の色は赤色∵当然 しかし光の具合で色は、⚪or🔴or🟤or⚫になる かつ、not(⚪or🔵or🟢or🟡or⚫) であるから、その逆については、ベイズレ確率論てきに 条件付確率Pr(🍎┃⚪or🔴or🟤or⚫)≒0.666・・・ という主張を預言してるのだろ。恐ろしい閃きだ 地球人の脳の視覚野とくに高次元な判断をシミュレートしてるのではないか by 🤡プロマネ、ホラ吹かす。 え、うっそーーーー。それマジっすか? by 🥳テスターなりの忖度的会話 Pr(🍎⇒⚪or🔴or🟤or⚫)=1 ∵光の具合で色は変化 Pr(not🍎⇒⚪or🔵or🟢or🟡or⚫)=0.7 ∵林檎以外は多分赤くない あとえーーーと、とにかく、地球に、かつて存在し今は存在しない あの確率論で憶測するに 条件付確率Pr(🍎┃⚪or🔴or🟤or⚫)≒0.666・・・なるのか怪しい ま、条件付確率Pr(🍎┃🔴or🟤)≒0.84654321位だろ❓ by 👤 画面レイアウトイメージ ─────────────── 拡張(クロマキ支援システム) [x] ターゲット 赤R [96] 緑G[128] 青B[64] 誤差範囲 RGB [ 4] % 目安0.5〜20% 明度 [100] % 目安10〜100% 上記該当をRGB値=(255,0,128)に置換え [画像編集] ─────────────── アルゴリズム、>>867 採用してあげる by 🤡 ランベルトとか自称の宇宙人、変な公式てかアルゴリズムを 考案してるけどさ、867何だけとさ ターゲットとなる色味が(R,G,B)でこれの属する物体は、 光の下限では、媒介変数tとして、色味は(t*R,t*G,t*B) となる3次元内の直線。 そして、その近傍もクロマキーにしたい訳で、とにかく 3次元、3次元、3、3、3次元内の直線と点の距離なんだよな ちな、3次元内の【平面】と点の距離 は、公式はあるが だが、3次元内の【直線】と点の距離 は、公式はナゾだ。 てな訳で、>>867 のアルゴリズムで、まっいいか。 by 👤 やっぱ、宇宙人って自称宇宙人のランベルト宇宙人ぢゃーん 知能は、🐴🦌だろ。てか無限大の訳ないからだ by 🥳 クロマキーにしたいとこりのアルゴリズムを考案するに 3次元ベクトル空間が必要なのだろうけど、 それに基づくアルゴリズムは地球には、まだ無いなのか❓ by 🤡 既存の近似色判定の市販の画像処理ソフトのUI見れば 解るだろ。多分ない。というか地球人には開発する知能はない。 BY 👤自称宇宙人、相変わらずホラ吹き捲る 「3次元で点と直線の距離を求める関数」 を実装しましたーーーって地球のサイトにありますよー、 で、なんかベクトルでその関数を表現してる。 サッパリ解らん。からヤッパリ867のでヨシ(๑•̀ㅂ•́)و✧ by 🤡 解らないからヨシは、ヨクないと思う by 🥳 ヤツは地球人、仕方ない by 👤 一応であるが、完成しちゃった\(^o^)/ てか、マジ>>867 の、アルゴ、ヤバイ位完璧 市販のソフトが明るさ、彩度、色相で許容度で クロマキーする部分を指定してるけどさ、 使えないないけど、867アルゴリズムって使える ま、「3次元で点と直線の距離を求める関数」 は、やらなかったけどおそらく867アルゴリズムは それに近い結果をたたきだす。と憶測する。 細かい不具合は別途、編集後記かな。 ま、javascriptだから、ファイル書き込みは無理だけど ダウンロードでなら、ファイル書き込みもできる。 by 🤡やっほーーー どうせイロイロ不具合あるんだろ。ゲラゲラ by 🥳 ま、画像処理プログラミング、javascriptで 可能ではあった。一応 by 👤 あれは、オーバーすると Uint8ClampedArray Clamped Clamped なら白飛びだが、見た目、分かりづらい しかし、Clampedだと、 255を超えたら黒くなるで分かりやすい by 🤡 そ、さらに超えた画素の色が例えば🟢のみ ならその補色🟣が現れる 即ち偽色発生するな。 白とび寸前の状態も把握しやすい Clampedしなくて、ちょーーー正解 by 👤 棚からぼた餅、ゲラゲラ by 🥳 ❌ Clampedだと、255を超えたら黒くなる ◯ Clampedなし、なし、なし、だと、255を超えたら黒くなる 偽色は、鮮やかな水色だったり、鮮やかな紫だったり もしかすると、鮮やかな🟡色も、発生しそうだね。 すごーーーく。キレイ。 バグっていいぢゃーーーん。AKB48てかサッシーさんサイコー BY 🥳←も頭が微妙にバグってる アルゴリズム開発のオレッちが言うのも なんだけど >>867 のロジックで ⚪ =math.Max(🔴,🟢,🔵); ⬜ =math.Max(🟥,🟩,🔵); ❤ = ⬜/⚪*🔴; もし、(🔴,🟢,🔵) = (0,0,0);なら ⚪がゼロになり、 ❤ = ⬜/⚪*🔴; になるだろ その辺りは実装時で解決してたのか? by 👤ランベルト宇宙人 んー、そのままコーティングした。 正常にいってる。気になる by 🤡 プロマネ JavaScriptだから、エラーじゃなくて、 ❤ はNaN とかいう値になる NaNを含む条件式も、エラーにならず なんか正常に処理された。バッチリだね。 by 🥳バッカテスター んーーヤバーーー。ま、ヨシとはするか ᕙ( : ˘ ∧ ˘ : )ᕗ by 🤡👤 てかさ、math.Maxは、Max.math だろ。Javascriptって 大文字と小文字の違いを判別する厳密な言語。素晴らしい by 🥳 いや〜、JavaScriptは、そんなことは、ありません。 かなりいい加減な言語何だけど、・・・ by 🤡👤 (・o・;) 現状 ⚪ =Math.max(🔴,🟢,🔵); //画像のデータ ⬜ =Math.max(🟥,🟩,🔵); //UI のデータ ❤ = ⬜/⚪*🔴; 💚 = ⬜/⚪*🟢; 💙 = ⬜/⚪*🔵; d = (❤-🟥) ** 2 + (💚-🟩) ** 2 + (💙-🟦) ** 2; 修正案 ⚪ =Math.max(🔴,🟢,🔵); //画像のデータ ⬜ =Math.max(🟥,🟩,🟦); //UI のデータ ❤ = ⚪/⬜*🟥; 💚 = ⚪/⬜*🟩; 💙 = ⚪/⬜*🟦; d = (❤-🔴) ** 2 + (💚-🔵) ** 2 + (💙-🔵) ** 2; by 🤡プロマネ 緊急PGメンテ得意そ、 おそらく、マシ BY 👤 バカぢゃねーー (🟥,🟩,🟦)=(0,0,0) でゼロ割ぢゃーーん。でも NaNになるから、これでも超バッチリ てか、JavaScriptはモピロン厳密な言語 だから、修正不要だね。 By 🥳バカッテスター てか、修正案は没、没、没で、超修正案 現状 ⚪ =Math.max(🔴,🟢,🔵); //画像のデータ ⬜ =Math.max(🟥,🟩,🔵); //UI のデータ 超修正案 ⚪ =Math.max(🔴,🟢,🔵); //画像のデータ ⚪++; // 1加算でヨシ ⬜ =Math.max(🟥,🟩,🔵); //UI のデータ ⬜++; // 1加算でヨシ by 🤡サッキの修正案没で、 上記の超修正案で超修正だ 何やってるの❓緊急だしDonDon修正しろ by 🥳 リスキーな修正回避か。じっくり様子見 by 👤 ⚪ =Math.max(🔴,🟢,🔵)+0.001; ⬜ =Math.max(🟥,🟩,🔵)+0.001; て修正で超超修正した by 🤡 コロコロ、変わってやんのー by 🥳 かなりナイーブな修正てか懸命な方策 by 👤 ❌ ⬜ =Math.max(🟥,🟩,🔵)+0.001; ⭕ ⬜ =Math.max(🟥,🟩,🟦)+0.001; だ さーてと、コントラストのを追加するか by🤡 なんだよー定番の機能まだなしだったのかよ by 🥳 地球の書にイロンなアルゴあるがドレもしっくりこん by 👤 どれでもS字とかだし、どれでもいいぢゃーーーん by 🤡🥳 ↑ >>886 887 式こそ、当銀河系てか宇宙最強の コントラスト改善アルゴリズムぢゃ by 👤自称宇宙人 マジー、ウッソー by 🥳バカっテスターの忖度 んー x=0.5近傍で dy/dx=∞ だよな? しかも、滑らかな曲線 by 🤡自称プロマネ だろ♡、なんたって数学パワー偏差値、オレ∞ by 👤宇宙人浮かれる 自称宇宙人の宇宙人やるーー by 🥳忖度テスター 超超イメージ設計書 by 🥳ポクの設計書 見てみてーーー 🥳ポクの設計書 見てみて >>809 の設計書通り∧魔改造して、コントラスト改善のを 実装完了したぜ。簡易テストしかしてないけど、 ま、バッチリ実装。∴809の設計書の正しさの証明だ。 by 🤡 プロマネがテスターを褒めてあげた やっぱり、画像処理は、お絵描きと数学だな by 🥳 バカっテスター。時に普通の事も喋る ま、128付近のコントラストが改善される ちなみに、dy/dxはxの値により変わる R、G、B毎に補正とした場合、色相や彩度も変化する コントラスト強くすると、彩度がVIVIDとなる。 ま、なんか、AS⚫Sのノートパソコンの画質に似てる ま、エイスースさんがどの様なロジックで 鮮やかな画質の補正をしてるかは知らんが by 👤自称宇宙人、怪しいウンチク語るてか騙る read.cgi ver 07.5.4 2024/05/19 Walang Kapalit ★ | Donguri System Team 5ちゃんねる