タグ付けされた質問 「image-processing」

これらの課題には、既存の画像ファイルを何らかの方法で変更したり、統計を収集したり、その他の画像処理タスクを実行したりすることによる処理が含まれます。

3
猫の情報を隠す
あなたはあなたの祖国と通信しようとしている秘密のエージェントです。もちろん、情報を隠して、だれもメッセージを落とさないようにする必要があります。猫よりも適しているものは何ですか?誰もが猫の面白い写真を愛している[要出典]ので、彼らはそこに隠れている秘密の情報を疑うことはありません! ゲームのモナコが共有レベルのレベル情報を保存するために使用するアルゴリズムに触発され、画像の色の最下位ビットに情報をエンコードするプログラムを作成するのはあなたのタスクです。 エンコード形式: 最初の24ビットは、残りのエンコードされたバイト文字列の長さをビット単位で決定します 画像は左から右、上から下に読み取られ、明らかに左上のピクセルから始まります。 チャンネルは赤から緑、青に読み取られます 各チャネルの最下位ビットが読み取られます ビットはビッグエンディアン順に保存されます ルール: プログラムは、エンコードされる単一のバイト文字列と、ベースイメージの単一のイメージファイル名を受け取ります 結果の画像はトゥルーカラーPNGファイルとして出力される必要があります プログラムの使用方法を述べる限り、好きな形式(ARGV、STDIN、STDOUT、ファイルの書き込み/読み取り)でI / Oを使用できます。 面白い猫のランダムな画像を選択し、プログラムをエンコードして、プログラムが機能することを示す必要があります 有効な入力のみが提供され、ビットの量が十分でない場合、画像がトゥルーカラー形式ではない場合、画像が存在しない場合、または同様の問題が発生する場合があります 提供された画像にはアルファチャンネルが含まれていないと想定できます 長さはBOMなしのUTF-8バイトでカウントされます このPHPスクリプトを使用してソリューションをテストし、PNGファイルの名前を最初のコマンドライン引数として指定できます。 <?php if ($argc === 1) die('Provide the filename of the PNG to read from'); $imageSize = @getimagesize($argv[1]); if ($imageSize === false) die('Not a PNG file'); list($width, $height) = $imageSize; $image = …

14
成功へのクロマキー
RGBカラー値#00FF00はかなり重要な値です。映画、テレビ番組、天気予報などの作成に使用されます。有名な「TV緑」または「緑スクリーン」の色です。 チャレンジ あなたの仕事は、PNG形式(または画像ライブラリの画像オブジェクトタイプ)と同じサイズの2つの入力画像を取得するプログラムを書くことです。1つのイメージには、任意の古いイメージを使用できます。もう1つは、色の背景を持つ画像です#00FF00。出力イメージは、最初のイメージの上にオーバーレイされた2番目のイメージで構成され、#00FF00色は存在しません(最初のイメージを除く)。入力や出力は、ファイルやGUIなどで実行できます。ここに示すように、RGB値の配列を入力として使用できます。画像には完全な不透明度のピクセルしかないと仮定できます。 基本的に... #00FF001つの画像のすべてのピクセルを取得し、背景画像の対応するピクセルに置き換えるプログラムを作成します。 テストケース @dzaimaが提供するもの:背景: 前景: 出力: もちろん、標準の抜け穴は固く禁じられています。これには、オンラインリソースを使用して行うことが含まれます。 これはコードゴルフですので、最短のコードが勝ち、最高のプログラマーが繁栄するかもしれません...

3
ドラゴンのイメージ
正方形から作られた双竜の曲線のクールなGIFを見て、別のベース画像から始めたらどうなるのだろうと思った。そこで、これを行うプログラムを作成しました。 とてもクールなので、チャレンジとしてそれをするのは楽しいと思いました。 仕事 エッジの長さが2の累乗(4より大きい)の正方形の画像を取り込みます。 この画像を作成するには、画像を同じサイズの4つの垂直バンドに分割し、隣接するバンドを画像のサイズの1/8の反対方向にシフトすることから始めます(シフトしたバンドは反対側に回り込む必要があります)。その後、イメージを2倍の分割に分割し、前の半分までシフトするたびに、このプロセスを繰り返す必要があります。各反復では、垂直シフトと水平シフトを交互に行う必要があります。シフトを行うには、ピクセルの端数(これは常に1/2になる)だけシフトする必要があるまで、その時点で繰り返す必要があります。 垂直に奇数のバンドを左からシフトする場合(インデックスがゼロ)、下にシフトし、偶数にシフトします。水平方向に奇数のバンドを上からシフトする場合は、左にシフトし、偶数のバンドを右にシフトする必要があります。 変換の最終結果を出力/表示するだけでよく、gifのようなすべての中間ステップではありません。 これはコードゴルフなので、目標は、ソースコードの長さをバイト単位で最小化することです。 例を通して働いた ページの上部に表示される猫のgifをフレームごとに処理します。 これが開始イメージです。 この画像は512 x 512ピクセルです。4つのバンドに分割して、各バンドを開始し、画像サイズの1/8(64ピクセル)ずつ垂直にシフトします。 これを2倍のバンド(8バンド)に分割し、前回の半分(32ピクセル)までシフトします。今回は水平にシフトします。 今度は再び垂直方向にシフトし、今回は16バンドに分割し、各バンドを16ピクセルずつシフトします。 32バンド、8ピクセル、水平シフト 64バンド、4ピクセル、垂直シフト。 128バンド、2ピクセル、水平シフト。 256バンド、1ピクセル、垂直シフト。 次のシフトでは各バンドを半ピクセルずつ移動する必要があるため、この時点で停止して結果を出力します。 テストケース これらの画像を作成できる作業スクリプトがあるので、テストケースの画像を選択できるようにしたいと思いました。したがって、幅が2のべき乗である正方形の画像があり、その画像をドラゴンにしたい場合があります。それを私に送ってください、そして、私はそれをテストケースにします。 また、ピクセルが消えているかどうかを判断できるように、白または黒一色のイメージでテストする必要があります。

8
画像のすべての色に「1つ追加」
この画像を取得して、すべての色をすべての16進数に1つずつ追加します。例えば、#49de5fとなる#5aef60(と9にループa、およびfにループ0)。 これはまた、すべてのループがに戻るため、すべての白(#ffffff)が黒(#000000)になることを意味しますが、すべての黒は黒の明るい色合い()になります。f0#111111 これはコードゴルフの問題であるため、スコアリングは使用される最小バイト数に基づいています。 以下の画像をコードの入力画像として使用し、コードの出力画像を回答に入れます。 必要に応じて、この他の虹の画像を使用することもできます。

3
画像をレインボー化する
この課題は、次のようなきれいな写真を作成するために画像の色相を徐々に変化させることです。 (オリジナル) チャレンジ 選択した任意の一般的な画像ファイル形式で、2つの非負の整数と画像を取り込むプログラムまたは関数を記述します(画像または生の画像データへのパスを取得できます)。 最初の整数をサイクル、2番目の整数をオフセットと呼びます。 また、浮動小数点ステップを360回のサイクルを画像の面積で割った値、またはとして定義しますstep = 360 * cycles / (image width * image height)。 画像内の各ピクセルPについて、一度に1行ずつ、左から右、上から下に(つまり、ピクセルが文字の場合は読み取り順に)、次の操作を行います。 増加色相のPをすることによってオフセット度(必要であれば0に360からの周りにループ)。 次に、オフセットをstepずつ増やします。 結果の画像を一般的な画像ファイル形式で保存、表示、または生で出力します。 この手順は、増分的製造、画像内の全画素の色相を増加させるサイクルを周囲に完全なループを色相虹によって最初に色相をオフセットすることにより開始、オフセット。 場合サイクルが 1であり、オフセット上記星空の画像のように、0であり、画素の上部と下部の行は実質的にない色相シフトを有しているが、間にフルカラーのサイクルがあります。 詳細 サイクルは任意の負でない整数にすることができますが、オフセットは0から359までであると仮定できます。 サイクルが0の場合、ステップも0でなければならないため、画像内のすべてのピクセルの色相は正確にオフセットされます。(この場合、オフセットが0の場合、画像はまったく変更されません。) サイクルとオフセットは、必要に応じて(つまりの1.0代わりに1)floatとして入力されると想定できます。(整数である必要はまったくないことを理解しています。これにより、チャレンジが簡単になります。) 「色相」は、HSL / HSVカラーモデルで一般的なRGBカラースペースバージョンを指します。 例 元の: サイクル= 1、オフセット= 0: サイクル= 1、オフセット= 180: 元の: サイクル= 2、オフセット= 60: 元の: (ArtOfCodeに感謝します。) サイクル= 1、オフセット= 120: 元の: (ドアノブに感謝します。) サイクル= …

12
垂直スライスの決定
画像が与えられたら、[完全な垂直断面のピクセル単位の幅] 1(存在する場合)を出力します。垂直断面が存在しない場合は、を出力します0。 入力は、ローカルファイルまたはネストされた配列として提供されます。入力をネストされた配列として取得することを選択した場合、白いピクセルは真実の値で表され、非白いピクセルは偽の値で表されます。 1.連続した、すべて白い列の数 あなたはそれを仮定することができます 1000平方ピクセルを超える画像はありません 画像ごとに垂直セクションが1つしかありません 例 入力: 出力: 50 57 0 0 以下に、セクションを示すために強調表示された(黄色で)最初の2つの例を示します。

5
正方形から六角形へのシームレスな変換
グリッドでプレイされる多くのゲームでは、六角形がClearly Superior Choice™です。残念ながら、多くの無料ゲームアートサイトには、正方形のマップ用のシームレスなタイルセットしかありません。過去のプロジェクトで、これらのいくつかを使用して、手動で六角形に変換しました。 しかし、私は老後は怠け者になりました。小さなスクリプトでプロセスを簡単に自動化できるはずです。 しかし、私は老後は怠け者になりました。だから私はあなたにそれをアウトソーシングし、コードゴルフチャレンジ1としてそれを偽装しています。 入力 入力は、24ビットRGBカラーが可能な一般的な画像形式の正方形の画像です。画像データ自体の代わりに、入力としてファイル名を使用することもできます。 画像が正方形で、辺の長さが4の倍数であると仮定できます。 出力 出力は入力タイルですが、六角形に変換されます(画像自体は透明な領域のある正方形になります)。ファイルに保存したり、画面に表示したりできます。 繰り返しになりますが、一般的な画像形式ならどれでもかまいません。使用している形式が透明度をサポートしている場合、背景領域は透明でなければなりません。そうでない場合は、代役として色#FF00FF(恐ろしいフクシアの1つ)を使用できます。 方法 それではどうすればいいのでしょうか?私が2つ使用する方法は、画像を少し垂直に押しつぶしますが、全体的にはほとんどの場合にかなり良く見えます。この入力画像を使用して例を示します。 拡大縮小:画像を3:2の比率に拡大縮小します。画像は正方形になるため、幅75%、高さ50%に拡大縮小するだけです。入力例は200x200なので、この150x100の画像になります。 タイル:スケーリングされた画像のコピーを2x2グリッドに配置します。 切り抜き:この2x2グリッドの任意の場所から適切なサイズの六角形を取得します。さて、タイリングを簡単にするために、この六角形は厳密には規則的ではありません。元のサイズの正方形(ここでは200x200)をトリミングした後、コーナーをトリミングします。切り取り線は、(おおよそ)左右の各辺の中央から上/下の端から4分の1の位置まで伸びる必要があります。 それがあなたの出力です! 以下は、タイル表示されたときの外観の例です(ここで拡大表示されています)。 これはコードゴルフであるため、バイト単位の最短コードが優先されます。標準的な抜け穴などが適用されます。 1これを信じても信じなくても構いません。 2 この役立つサイトの方法1 。

12
グレースケールイメージのディザリング
独自のアルゴリズムを使用して、グレースケール画像を純粋な白黒にディザリングします。 ガイドライン:独自の新しいアルゴリズムを考え出す必要があります。既存のアルゴリズム(例:Floyd-Steinburg)は使用できませんが、一般的な手法は使用できます。プログラムは、画像を読み取り、同じサイズの画像を生成できる必要があります。これは人気コンテストであるため、最高の(オリジナルに最も近い)および最も創造的な(投票によって決定される)制作者が勝者となります。コードが短い場合はボーナスですが、これは必須ではありません。 任意のグレースケール画像を入力として使用できます。300x300より大きくする必要があります。どのファイル形式でも構いません。 入力例: 出力例: これはかなり良い仕事ですが、まだ目に見える線とパターンがあります。

23
アスキーアートオクタゴン
入力整数を指定するとn > 1、n文字で構成される辺の長さのASCIIアートオクタゴンを出力します。以下の例を参照してください。 n=2 ## # # # # ## n=3 ### # # # # # # # # # # ### n=4 #### # # # # # # # # # # # # # # # # #### n=5 ##### # # # # # # …
22 code-golf  ascii-art  code-golf  geometry  code-golf  balanced-string  code-golf  cops-and-robbers  code-challenge  cops-and-robbers  code-golf  code-golf  random  cryptography  code-golf  array-manipulation  number  code-challenge  integer  code-golf  math  integer  code-golf  math  math  parsing  image-processing  test-battery  math  number  combinatorics  fastest-code  code-golf  code-golf  math  number-theory  rational-numbers  polynomials  code-golf  math  geometry  code-golf  code-golf  number-theory  primes  factoring  code-golf  restricted-source  code-golf  string  decision-problem  counting  code-golf  math  sequence  fibonacci  code-golf  array-manipulation  counting  code-golf  array-manipulation  number-theory  code-golf  array-manipulation  code-golf  random  code-golf  string  hexadecimal  code-golf  string  code-challenge  sorting  code-golf  number  floating-point  code-golf  sorting  code-golf  decision-problem  fibonacci  code-golf  number  combinatorics  code-golf  string  code-golf  math  code-golf  electrical-engineering  code-golf  javascript  code-golf  base-conversion  code-golf  array-manipulation  matrix  binary-matrix  code-golf  kolmogorov-complexity  python  perl  ruby  code-golf  number  code-golf  optimization  integer-partitions  code-golf  string  code-golf  ascii-art 

12
どのくらい曇りですか?
チャレンジ 空の画像を指定すると、oktasで雲量を出力する必要があります。提供されるイメージはイメージファイル(タイプはユーザー次第)であり、出力はSTDOUTになります。 オクタス 気象学では、オクタは、気象観測所などの任意の場所での雲量を表すために使用される測定単位です。空の状態は、空の8分の何が雲で覆われているかによって推定され、0オクタ(完全に晴天)から8オクタ(完全に曇り)までの範囲です。 空は常に正午頃の写真になります(つまり、赤/夜空ではなく、青空)。 雲の色は、常に次のパターンに従う色になります。 #ABCDEF どこAB >= C0、CD >= C0そしてEF >= C0。 または、RGB: (A, B, C) どこA >= 192、B >= 192そしてC >= 192。 oktasに関連するカバレッジの割合は次のとおりです。 0% - 0 oktas 12.5% - 1 okta 25% - 2 oktas 37.5% - 3 oktas 50% - 4 oktas 62.5% - 5 oktas …

16
画像のRGBチャンネルを抽出する
入力として(おそらくRGBトリプレットで)画像を入力するか、入力としてファイル名を使用して(画像に特定のファイル名があり、拡張子がない場合)、画像の単一のカラーチャンネルを表す画像を出力します。 また、出力するチャネルを表す別の入力を取得します。入力は、3つの異なるシンボルのいずれかです。ただし、記号は文字列または数字である必要があります。ただし、行列を入力として配列に適用することはできません。({1, 0, 0}、またはなど{0, 1, 0})。 <input>入力画像のチャンネルを出力します。ファイルに保存するか、RGBペアのセットを出力します。 プログラムは画像のサイズ(px)に制限がなく、画像形式として.png、.jpg/ .jpeg/ .JPG、またはRGB 3成分のいずれかをサポートする必要があります。(ただし、必要な数だけサポートできます) テストケース: 赤チャネル: グリーンチャンネル: 青チャンネル: もう1つのテストケースは、すべて赤です。 元の写真、赤、緑、青。(警告:あまりにも長い間見るために平野と赤のチャンネルが痛い) さらに2つのテストケース: オリジナル、赤、緑、青。 オリジナル、赤、緑、青。 後者の2つのテストケースは、すべての色の画像からのものです。

30
最初に0ではなく、個別の数字でランダムなn桁の数字を取得します
私はこの質問を読み、それがいい挑戦になると思った。 仕事 入力0<n<10で乱数を生成する 正確にn桁 最初ではない 0 そう f(n)>10**(n-1)-1 個別の数字 受賞基準 これはコードゴルフなので、最短のコードが優先されます。 ランダム ランダムに均等に分散されるということです。そのため、プログラムの観点からは、考えられる各数字には同じチャンスがあります。あなたが書いている言語が奇妙な乱数ジェネレーターを持っているなら、それを使用しても大丈夫です。 例 ランダムに選択する値のリストn=2は次のとおりです。 [10, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 45, 46, 47, 48, …
22 code-golf  number  random  grid  game  king-of-the-hill  javascript  code-golf  arithmetic  statistics  code-golf  math  code-golf  math  code-golf  string  palindrome  code-golf  string  interactive  code-golf  quine  polyglot  code-golf  string  stack-exchange-api  code-golf  number-theory  decision-problem  code-golf  tips  code-golf  string  internet  code-golf  graphical-output  image-processing  fractal  code-golf  ascii-art  geometry  hexagonal-grid  code-golf  string  restricted-source  hello-world  code-golf  game  code-golf  cipher  code-golf  permutations  cops-and-robbers  permutations  cops-and-robbers  code-golf  internet  stack-exchange-api  code-golf  ascii-art  random  code-golf  tips  code-golf  ascii-art  code-golf  code-golf  kolmogorov-complexity  code-golf  string  unicode  code-golf  number  sequence  primes  palindrome  code-golf  game  decision-problem  code-golf  math  geometry  code-golf  graphical-output  interactive  code-golf  set-partitions  code-golf  number  arithmetic  restricted-source  code-golf  decision-problem  python  recursion  code-golf  ascii-art  code-golf  source-layout  code-golf  function  recursion  functional-programming  code-golf  game  combinatorics  permutations  code-golf  string  file-system  code-golf  string  hashing  code-golf  stack-exchange-api  code-golf  string  code-golf  math  number  arithmetic  polyglot 

16
もう一つのプログラムと私は出かけています!
正の整数ネスティングレベル所定のn文字列s印刷可能なASCII文字(のと~同じ言語で実行すると、プログラムを出力するプログラムを出力し、出力プログラム。。。文字列を出力しますs。 合計でnプログラムを生成する必要があります。すべてのプログラムは回答と同じ言語で実行する必要があります。 注:プログラムまたは関数を出力することができます-提出物としてデフォルトで許可されているもの。 あなたのs言語のプログラムや関数が通常どのように文字列を入力するかをエスケープ文字で入力できます。 例 例えば、与えられたn=1とs="recursion"、Pythonの2プログラムのかもしれない出力: print "recursion" これを実行すると出力されます: recursion 与えられたn=2s = "PPCG"の場合、Python 2プログラムは次を出力します。 print "print \"PPCG\" " この出力の実行: print "PPCG" この出力の実行: PPCG 関連(+タイトルのインスピレーション):もう1つのLULと私は出ています 関連(サンドボックス内-現在削除されていますが、十分な評判で表示できます):ソースコードの再帰 テストケース 次のテストケースでコードが機能することを確認します(1行に1つ)。 n s 2 PPCG 4 Robert'); DROP TABLE Students;-- 17 Deep 2 Spaces In Here 3 "Don't forget quotes!" 5 'Backt`cks might be …
21 code-golf  recursion  code-golf  kolmogorov-complexity  board-game  code-golf  number-theory  polynomials  code-golf  code-golf  array-manipulation  polyglot  alphabet  answer-chaining  code-golf  sequence  math  atomic-code-golf  abstract-algebra  proof-golf  code-golf  internet  code-golf  internet  code-golf  ascii-art  kolmogorov-complexity  code-golf  math  ascii-art  number  integer  code-golf  decision-problem  binary-matrix  code-golf  number  sequence  number-theory  code-golf  math  decision-problem  matrix  abstract-algebra  code-golf  string  keyboard  code-golf  fractal  code-golf  math  sequence  combinatorics  hello-world  vim  code-golf  sequence  code-golf  graphical-output  image-processing  code-golf  decision-problem  matrix  linear-algebra  code-golf  ascii-art  code-golf  math  code-golf  ascii-art  graphical-output  code-golf  string  code-golf  string  substitution  code-golf  string  ascii-art  code-golf  arithmetic  code-golf  number  array-manipulation  decision-problem  code-golf  kolmogorov-complexity  code-generation  fractal  code-golf  ascii-art  kolmogorov-complexity  code-golf  ascii-art  code-golf  string  array-manipulation  code-golf  music  code-golf  array-manipulation  code-golf  internet  stack-exchange-api  math  fastest-algorithm  code-golf  binary  bitwise  code-golf  date  code-golf  string  code-golf  sequence  integer  code-golf  arithmetic  number-theory  code-golf  string  random 

8
長方形の数を数えられますか?
私のお気に入りの数学的な楽しみの1つは、長方形のグリッドを描画し、そのグリッドに表示されているすべての長方形を見つけることです。ここで、この質問に答えて、自分で冒険しましょう! 長方形の数を数えられますか? +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ | | | | | | | | | | +-----+-----+-----+-----+ この4 x 4 …

8
アーノルドの猫マップ
チャレンジ 同じ幅と高さのカラーラスターイメージ*が与えられた場合、Arnoldのcat mapで変換されたイメージを出力します。(*詳細は以下を参照) 定義 画像のサイズNが与えられると、ピクセルの座標が0との間の数として与えられると仮定しN-1ます。 Arnoldの猫マップは、次のように定義されます。 座標のピクセル[x,y]がに移動し[(2*x + y) mod N, (x + y) mod N]ます。 これはトーラス上の線形変換に他なりません。黄色、紫、緑の部分は、のために最初の正方形にマッピングされますmod N。 このマップ(呼び出しましょうf)には次のプロパティがあります。 これは全単射であり、可逆を意味します。これは、行列を使用した線形変換[[2,1],[1,1]]です。行列式が1あり、整数エントリのみを持つため、逆行列にも整数エントリのみがあり、で与えられます[[1,-1],[-1,2]]。これは、整数座標でも全単射であることを意味します。 これは、画像の全単射マップのグループのねじれ要素です。N x Nつまり、十分に何度も適用すると、元の画像が元に戻りますf(f(...f(x)...)) = x。マップ自体に適用される結果、同一性が得られる回数は、またはに等しい3*N。以下では、Arnoldの猫マップの反復アプリケーションの指定回数後の猫の画像と、繰り返しアプリケーションがどのように見えるかのアニメーションを見ることができます。 詳細 プログラムは必ずしも画像を処理する必要はありませんが、2D配列/行列、文字列、または同様の2D構造も受け入れられます。 (0,0)ポイントが左下にあるか左上にあるかは関係ありません。(または、あなたの言語でこれがより便利な場合は、他のコーナーで。)提出で使用する規則を指定してください。 テストケース マトリックス形式([1,2,3,4]最上行、1インデックスあり(0,0)、2インデックスあり(1,0)、5インデックスあり(0,1)) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 maps to: 1 14 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.