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

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

5
月相を教えてください!
チャレンジ 月の画像を入力として、月の位相を出力します。 月の満ち欠け プログラムには、これらの画像のいずれかがpng形式で提供され、指定されたとおりにフェーズを出力する必要があります。 new moon 16進ダンプ waxing crescent 16進ダンプ first quarter 16進ダンプ waxing gibbous 16進ダンプ full moon 16進ダンプ waning gibbous 16進ダンプ third quarter 16進ダンプ waning crescent 16進ダンプ 入力 入力は、240 px x 240 pxのpngファイルへのパスであり、上の画像の1つになります。 画像バイトは同じであることが保証されています。 勝利 最短コードの勝利

11
特別な期間の画像を生成する
次の形式で入力を受け取るプログラムまたは関数を作成します。 <width>, <height>, <color1>, <color2> そして色の画素間のように、第1の行を交互に出力を生成 <color1>し、<color2>周期のを<height>。次の各行の期間はです<height> - <row number>。<color1>常に行を開始することに注意してください。 出力例 入力120, 6, #000000, #FFFF00: 入力80, 50, #000000, #FFFF00: (サンプル出力は明確にするためにスケーリングされています) これはcode-golfなので、有効なバイトで最短のエントリが優先されます。

1
画像を脳化する
前書き Braincopterは、Brainf ***プログラムをイメージとしてエンコードする難解なBrainf ***派生物です。2D言語として、2つの追加コマンドを使用します。命令ポインター(最初は右向き)を時計回りと反時計回りに回転させます。Braincopterは、と非常に類似しているBrainloller代わりに異なるコマンドとして異なる色を使用することはなく、各画素のRGB値に基づいてコマンドを計算することを除いて、。 Braincopterは、式N = (65536 * R + 256 * G + B) % 11に基づいて各ピクセルのコマンドを計算し Nます。ここで、はコマンド番号です。コマンド番号からBrainf ***コマンドへのマッピングは次のとおりです。 0 > 1 < 2 + 3 - 4 . 5 , 6 [ 7 ] 8 rotate instruction pointer to the right (clockwise) 9 rotate instruction pointer to the left …

1
この写真にはいくつの形がありますか?
子供はオブジェクトを分類して数えるのがとても上手です。コンピュータはもっと問題があるようです。これは、この問題の簡略版です。画像内のオブジェクトを分類およびカウントできる小さなプログラムを作成できますか? 問題:1つ以上の円と四角形を含む画像が与えられた場合、円の数と四角形の数を含む2つの整数を返します。 ルール 入力画像は、選択したビットマップ形式の白い背景に黒い数字になります。 画像の幅と高さは100〜1000ピクセルです。 図は画像内に完全に含まれます。 図の線幅は1ピクセルです。 画像はアンチエイリアスを使用しません。白のみに黒になります。 図形は、接触したり、交差したり、別の図形の中にある場合があります。 交差する図形には、最大4つの共通ピクセルがあります。 円の直径は20ピクセル以上になります。 長方形の辺の長さは10ピクセル以上になります。 形状を認識する組み込み関数やライブラリ、またはこの課題を簡単にする他の関数を使用することはできません。 円と長方形の数を含む2つの整数を返すか、出力します。 例1 回答:3 4 例2: 正解:4 13 これはコードゴルフの挑戦なので、各言語で最短のプログラムまたは機能が勝ちます。

3
別の文字を探す
あなたはこのようなパズルを見たかもしれません: を見つける0: OOOOOOOOOOOOOOOOOOOO0OOOOOOOOOOOOOOOOOO 課題は、画像が与えられた別の文字のインデックスを見つけるプログラムを書くことです。 入力 入力はになりますImage。画像は、Helvetica 24 ptの1行の黒いテキストで構成されます。白い背景の上のフォント。テキストは、2つの文字の選択から構成されます。1つの文字が繰り返され、1つの文字が1回だけ表示されます。例えば: 出力 出力はInteger、異なる文字のインデックスであるになります。上記の例では、出力はになります4。(文字列のインデックスはで始まることに注意してください0) プログラムの仕様 コードゴルフではいつものように、最短のプログラムが勝ちます。 テストケース => 10 => 11 => 5 => 16 => 10 => 21 => 20 => 13 => 11 => 4 => 7

5
1と0の正しい組み合わせにテキストを送信します
私は最近、運転中にテキストメッセージを送信するTextpertである曲にリストしました。この曲の特定の1行がこの課題に影響を与えました。 私は写真にテキストを送るほど低く身をかがめることはありません/その代わりに私は1と0の正しい組み合わせにテキストを送ります これは明らかに、これを頭の中で行うことはほとんど不可能であるため、同じことを行うようにプログラムをコーディングすることにより、世界中のtextpertを支援する必要があります。 あなたの仕事は、500x500ピクセルサイズの画像ファイルの名前を取り、ファイルをバイナリとして出力することです。言語がサポートしている場合は、入力として画像を使用することもできます。 拡張子付きの画像ファイルを使用できます .jpg .png .gif .bmp .svg 私の意味が理解できない人のために、画像をバイナリに変換する方法を示すことができます。 ステップ1 ファイルの最初のピクセルを取り、RGB値をR、G、Bの3つの10進数として取得します。たとえば、最初のピクセルが255,0,0(赤)であるとします。 ステップ2 各数値を8ビットのバイナリ表現に変換し、単一の24ビットの数値に連結します。例では、これは111111110000000000000000 ステップ3 この24ビットの数値を最終出力に追加します。したがって、最終的な出力があるべき6000000長い数字と完全で構成すべきである1と0 これはコードゴルフなので、最短のコードが勝ちます!

15
これは何色ですか?
入力としてファイル名を使用するプログラムをゴルフし、ファイルの色を出力する必要があります。 ファイルにはこれらの拡張子のいずれかが含まれますが、プログラムでサポートする必要があるのは1つだけです。答えのどれを言ってください。 .jpg .png .svg .gif .bmp そして今、クラシックなレイアウトに。 入力 上記の拡張子のいずれかが付いたファイル名。 代わりに、画像オブジェクトまたは既にエンコードされた画像を使用することもできます。 出力 そのファイル内の唯一の色は、オプションのリーディング付きの6桁の16進コードで、#たとえば#000000黒です。 RGBカラーの10進数または16進数の値を含むリスト/タプル/文字列を、数値 , |などの明確な区切り文字などで出力することもできます。 透明度は出力できません。 ファイルがすべて1色でない場合は、偽ではない偽の値を出力し、何も印刷せず#000000に終了する必要があります。これは、単にファイルを開いて最初のピクセルのRGB値を取得できないようにするためです。STDERR ルール 16進コードは、ファイルがすべて1色の場合にのみ出力する必要があります。 ファイルは500x500ピクセルになります ピクセルの透明度はすべて0%です。 これはコードゴルフなので、最短のコードが勝ちます! 例 #16C293 #8B16C2 #959090 #84F00C 偽の値

4
画像の「監視」
問題: この挑戦は私が抱えていた本当の問題から来ています。職場でデュアルモニターをセットアップしていて、壁紙として次の画像を使用したいと考えています。 しかし、私のモニターにはかなり重要なベゼルがあり、背景を設定すると、次のようになり、桟橋が表示されます(appiers?)。 以下の画像のように、中央を切り取った画像を作成し、元のサイズに戻すことでこれを解決できました。 チャレンジ: 画像を取り込み、デュアルモニターセットアップで使用するために "監視"するプログラムを作成します(つまり、画像の中央部分を削除します(ベゼルがある場所))。ルールは次のとおりです。 パス(文字列引数など)として、またはファイル選択ダイアログの形式で画像を受け入れる完全なプログラムである必要があります。 プログラムは、画像の中心から切り取るための垂直線の数(幅が1ピクセル)を入力として受け取る必要があります。 トリミングは元の画像の中央(幅方向)から行う必要があります 結果の画像は、入力画像の元のサイズに再スケーリングする必要があります。(半分を個別にスケーリングしてから連結したり、連結してからスケーリングしたりできます。個別にスケーリングすると、より良いイメージ/効果が得られますが、現実の世界ではほとんど目立ちません) 背景画像は一般的に均一であるため、この課題を簡単にするために、入力画像のピクセル数は偶数になり、削除する線の数も均一になります。 この挑戦はコードゴルフです-バイトで最短のコードが勝ちます 幸運を!

6
画像の逆ベイヤーフィルター
ほとんどすべてのデジタルカメラセンサーは、フォトセンサーのグリッドに編成されています。各フォトセンサーは、赤、緑、青のいずれかの原色に敏感です。これらのフォトセンサーの構成は、発明者であるイーストマンコダックのブライスバイエルにちなんで、バイエルフィルターと呼ばれています。画像が撮影された後、4つのフォトセンサーが1つのピクセルのRGB値を結果の画像に構成します。あなたの仕事は、そのプロセスを逆にして、結果のピクセルをそれらのフィルターの色に従って色付けすることです。簡単にするために、ガンマ補正は無視します。 次に例を示します。「通常の」前向きベイヤフィルタの手順は次のとおりです。 Pantone Beeswaxカラーの光線がセンサーに当たります。 BGGR(青-緑/緑-赤)フィルターは、これを4つの光線に分解します。 4つの光線がセンサーに当たると、次のようになります。81-168/168-235(センサー値の範囲は0-255)。 ベイヤーフィルターは、これを色付きの1つのRGBピクセル(235、168、81)に変換します。 逆Bayerフィルターの手順は次のとおりです。 色(235、168、81)のRGBピクセルは、RGB値(0,0,81)-(0,168,0)/(0,168,0)-(235,0,0)の4つのピクセルに分割されます。 チャレンジ 以下を実行する可能な限り短い関数またはプログラムを作成する必要があります。 入力と同じようにファイル名を取り、DeBayered画像を出力します。 出力はファイルに書き込まれるか、画面に表示されます。 出力は、元の画像の2倍の幅と2倍の高さでなければなりません。 入力画像の各ピクセルは、次の図でグラフィカルに説明されているように、BGGR(青-緑/緑-赤)ベイヤーフィルターパターンに従ってマッピングする必要があります。 両方の緑のフォトセンサーが同じ信号を受信すると仮定します。そのため、Bayer行列のG値は両方とも、RGB画像のG値に等しくなります。 結果の画像の配列表現を返すことはできません。出力は、イメージとして表示できるイメージまたはファイル(適切なイメージ形式のファイル)でなければなりません。 例 このファイルを入力として与えます: 結果の画像は次のようになります。 リファレンスPython実装: from PIL import Image import numpy import sys if len(sys.argv) == 1: print "Usage: python DeByer.py <<image_filename>>" sys.exit() # Open image and put it in a numpy array srcArray …

2
GIFエンコーダーを作成する
はい、古き良きGIFです。汎用性が高く、特許を嫌い、制限(および特許)のために部分的に廃止されたGIFは、コアでは、カラーパレットと、LZWアルゴリズムを使用して圧縮されたパレットインデックス付き画像で構成されています。 あなたの仕事は、標準入力からASCII PPM形式( "P3"マジックナンバー)の画像を読み取り、GIF形式で同じ画像(同一のピクセル単位)を標準出力に書き込むプログラムを作成することです。出力はバイナリ形式、または各バイトが空白で区切られた0〜255の数値で表されるASCIIテキストのいずれかです。 入力画像は256色を超える色がないことが保証されています。 得点: プログラムは3つのサンプル画像でテストされ、スコアは次のように計算されます。 プログラムサイズ+合計(出力サイズ-各サンプル画像の参照サイズ) 最も低いスコアが優先されます。 要件: プログラムは、サンプル画像に限定されず、さまざまなサイズの類似した画像で機能する必要があります。たとえば、寸法を2の倍数に制限したり、ppmの最大色を255と想定したりできますが、それでもさまざまな入力画像で機能するはずです。 出力は、任意の準拠プログラムで読み込むことができる有効なGIFファイルである必要があります(ASCII出力オプションを使用している場合は、バイナリに変換して戻します)。 画像処理機能(組み込みまたはサードパーティ)を使用することはできません。プログラムには、関連するすべてのコードが含まれている必要があります。 プログラムは、無料で入手できるソフトウェアを使用してLinuxで実行できる必要があります。 ソースコードはASCII文字のみを使用する必要があります。 サンプル画像: スコアリングに使用される3つのサンプル画像を次に示します。ppmファイルを含むzipアーカイブをダウンロードできます(そのページの上部にあるダウンロードボタンを使用)。または、以下のコマンドでImageMagickを使用して、下のpng画像から変換することもできます。 convert file.png -compress none file.ppm 確認のために、ppmファイルのMD5チェックサムも提供しています。 1.アンバー 参照サイズ:38055 ppmのMD5チェックサム:d1ad863cb556869332074717eb278080 2. blueeyes 参照サイズ: ppmの28638 MD5チェックサム:e9ad410057a5f6c25a22a534259dcf3a 3.ピーマン 参照サイズ:53586 ppmのMD5チェックサム:74112dbdbb8b7de5216f9e24c2e1a627

2
色付きグラフの合計
場合によっては、物理学では、グラフを合計する必要があります。課題は、選択した言語で、複数のグラフを画像として受け取り、すべての可能な合計を計算し、結果を出力するプログラムまたは関数を記述することです。 グラフ グラフはrgb(255, 255, 255)、各列に白以外のピクセルがある白()の背景を含む画像です。例: スクリプトの値は、カラーピクセルのY位置として表されます。特定のX座標の値は、その列の一番上の色付きピクセルのY位置に等しく、座標は左下の0から始まります。美的な理由から、これらのピクセルの下に追加の色付きピクセルがある場合とない場合があります。 仕事 あなたの仕事は、選択した言語で、複数のグラフを画像として取り、すべての可能な2^n - 1合計を計算し、結果を出力するプログラムまたは関数を書くことです。 グラフの合計は、各列の値が各入力グラフの対応する列の値の合計と等しいグラフです。 グラフは複数の色で表示されます。結果の画像には、元のグラフを含み、ゼロの合計を除いた他のグラフと同様に、グラフのすべての可能な合計が含まれている必要があります。 各和の色は、例えば、色のグラフ、含まれるグラフの色の平均値によって決定されるrgb(255, 0, 255)とrgb(0, 255, 255)のグラフを生成するrgb(128, 128, 255)(また、丸みを帯びた下であってもよいです)。 結果の画像は、すべてのグラフにフィットするために必要な高さにする必要があります。つまり、どの入力よりも大きい画像を出力する必要がある場合があります。 結果のグラフが結果の画像に描画される順序は重要ではありません。つまり、結果のグラフが重なっている場合、どちらを上にするかを選択できますが、色の組み合わせではなく、グラフの1つでなければなりません。 入力画像の幅が等しい、画像のすべての列に少なくとも1つの非白のピクセルがある、画像の高さ(出力を含む)が4096ピクセル未満であると想定する場合があります。 例 入力A: 入力B: 出力例: (誰かが興味を持っている場合は、ランダムな会社の株価チャートからこれらのデータをコピーして貼り付けました。これが、現実的なデータをCSVとして取得する最初の方法でした。) ルール 任意のビットマップ画像入力ファイル形式を選択できます。 入力と一致する必要がないビットマップ画像出力ファイル形式を選択できます。 画像処理ライブラリを使用することもできますが、このタスクを直接完了する関数は禁止されています。 標準の抜け穴が適用されます。 これはcode-golfなので、バイト単位の最短コードが優先されます。 グラフ生成スクリプト 以下は、グラフを生成するPython 2スクリプトです。入力は行で指定され、最初の3行はRGBカラーで、残りはデータとして、EOFで終了します。 import PIL.Image as image import sys if len(sys.argv) < 2: sys.stderr.write("Usage: graphgen.py <outfile> [infile]") …

2
画像領域の数を数える
あなたの目標は、5つの正の整数と画像ファイル名を含む文字列を[X1,Y1], [X2,Y2], N, image.jpg適切な形式で入力として受け取る完全なプログラムまたは関数を記述することです。ここで、 最初のカップル[X1,Y1]は、左上のX、サンプル画像()の青い長方形領域のY座標(<=20)です16,11。 第二のカップルが[X2,Y2]右下ありX、Y座標(<=20例えば、画像内の青い矩形領域の)( 20,22)。 Nそのような5番目の数0 <= N <= 9は、見つけなければならない数です。 6番目のパラメータは、このJPG画像のファイル名を含む文字列です。 N指定された領域に存在するの数を出力します(この例では、図で青で囲まれています)。 同じ画像のより大きなクリーンバージョンを取得するには、ここをクリックしてください。 画像内から500個の番号がある0と9(含まれる)等幅で、25行当たり20 columnnsに配置されCourier Newたフォント。それぞれの数字は異なる色を持っています(この事実を利用するか、それを無視して、イメージがモノクロームであるかを検討または変換することができます)。 テストケース: [4,4],[13,5],1,image.jpg > 4 (outlined in red) [4,4],[13,5],4,image.jpg > 2 (outlined in red) [17,5],[17,5],2,image.jpg > 1 (outlined in magenta) [17,5],[17,5],9,image.jpg > 0 (outlined in magenta) [20,8],[20,9],3,image.jpg > 1 (outlined in cyan) [20,8],[20,9],2,image.jpg …

16
平らな地球を旅する
平地の世界の座標は、緯度(x)と経度(y)で構成されます。これらは0〜9999の範囲の整数です。ガウス整数によく似ていますが、常に次の表記法を使用して記述されています。 411S 370E すなわちであり、SまたはN緯度に付加し、EまたはW2つのコンポーネント間の空間(S)と、経度に付加します。 ゴール 空白で区切られた2つの座標を読み取り、それらの合計を出力するプログラム(関数ではない)を記述します。最初の座標は開始点、2番目の座標は変位、出力は結果の位置です。 入出力 この課題は部分的にフォーマットに関するものであるため、入力形式と出力形式を明確に定義するようにします。 推奨される入力形式では、座標コンポーネント間に1つのスペースがあり、先行ゼロはなく、2つの座標間に改行文字があります。プログラムは、優先フォーマットを読み取ることができる必要があります。 出力には、任意の量の空白と先行ゼロを含めることができます。推奨される入力形式と異なる場合、プログラムはこの形式も読み取ることができる必要があります。 明確にするために、入力には追加の書式設定文字を含めることはできません(含めません)。必要なスペースと改行だけ。 得点 これは新しい勝利条件の実験です。数週間以内に回答を受け入れて、勝者を選びます。その後、より適切な回答が出た場合は、回答を変更します。 プログラムのスコアはそのバイト数です。優勝したプログラムは、400バイトより短く、バイト数が最も少ないプログラムですが、最も冗長なプログラミング言語で書かれています。勝者を決定するには: バイト数が400以上のプログラムを削除します(参加できますが、勝つことはできません)。 各プログラミング言語の最短プログラムのみを検討する 最長のプログラムの勝利 ポリグロットは、有効なすべての言語のプログラムと競合します(たとえば、プログラムが両方bashで有効である場合、sh両方の言語のプログラムと競合します)。 テストケース テストケースでは、最初の2行が入力で、3行目が出力です。 0S 0E 0S 0W 0N 0E (ゼロの方向は、入力と出力の両方で重要ではありません) 0S 9999E 9999N 9999W 9999N 0E (最大値) 42S 314W 42N 2718W 0N 3032W (ゼロの方向は出力では関係ありません) 5555N 8888W 7777S 0E 2222S 8888W (負の値はありません。符号を変更する必要がある場合は方向を変更してください) 0001N 4545W …
8 code-challenge  arithmetic  parsing  code-golf  interpreter  code-golf  random  classification  code-golf  ascii-art  code-golf  code-golf  string  number  array-manipulation  code-golf  math  rational-numbers  code-golf  internet  classification  code-golf  string  integer  code-golf  number  graphical-output  typography  king-of-the-hill  code-golf  number  sequence  palindrome  code-golf  math  code-golf  math  probability-theory  code-challenge  image-processing  test-battery  code-golf  number-theory  code-golf  tips  swift  code-golf  graphical-output  image-processing  color  code-golf  string  conversion  code-golf  string  array-manipulation  code-golf  encryption  king-of-the-hill  code-golf  string  ascii-art  code-golf  code-golf  string  compression  decision-problem  code-golf  ascii-art  number-theory  division  code-golf  ascii-art  code-golf  code-golf  number  array-manipulation  code-golf  ascii-art  code-golf  code-golf  string  code-golf  sequence  number-theory  code-golf  math  geometry  code-golf  combinatorics  code-golf  integer  code-golf  arithmetic  number-theory  code-golf  arithmetic  restricted-source  number-theory  restricted-complexity 

1
ラインを伸ばす
仕事 線のある画像が与えられた場合、線を画像の端まで延長した線を含む画像を生成または表示します。線は黒で、背景は白です。画像サイズは、100x100画像を任意の合理的な形式で提供されます(例えばjpg、png、ppm、bmp)。 ラインフォーマット 私は、線の描画にBresenhamの線アルゴリズムの簡略化バージョンを使用しています。線は整数の勾配のみを持つため、線がピクセルを部分的に覆うことはなく、色を付けません。 (ウィキペディアの画像) 直線が直線でない限り、最低でも3x3になります。この場合、画像には3x1または1x3しか表示されません。ラインも画像の端に片側があるため、一方向に延長するだけで済みます。 例(.png、赤い線が追加されているので、見やすくなっています): 実際の例(.png) ==================== ==================== ==================== ====================

6
画像のすべてのピクセルを出現回数でソートする
入力 選択したラスターグラフィック形式のファイルの名前。選択したフォーマットは、チャネルごとに少なくとも8ビットと3チャネルをサポートする必要があります。 出力 最初のファイルと同じサイズで同じサイズの同じ形式のファイル。ただし、ピクセルは発生回数の降順でグループ化され、左から右、上から下にソートされます。 ピクセルの特定の色が同じ回数表示される場合、それらの順序は指定されていません。 入力ファイルを上書きしないでください(出力には別のファイル名を使用してください)。 すべてのサードパーティの画像処理ライブラリが許可されています。 例 次のような出力が得られます。 特に、画像の下部では、同じ周波数の色の間でタイが異なるため、いくつかの変動が発生する可能性があります。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.