問題タブ [monochrome]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
5639 参照

c++ - ビットセットからモノクロ BMP を作成する

以下のprocにフィードする方法を理解するために、助けが必要になる場合があります。モノクロ BMP ファイルを作成する必要があります。以下のコード (その from: Windows C++ でモノクロ画像を bmp として保存する方法 ? ) は、これを実行できるように見えます。std::bitsetまたはできればboost::dynamic_bitsetこのbyte*形式に変換する方法に行き詰まっています。これまでの試行はすべて失敗しました。BMP に 8x8 のチェッカー パターンのようなものを書き込むことができませんでした。proc は BMP を作成し、Photoshop で読み取ることができますが、内容はめちゃくちゃです。したがって、これを解決する方法についての提案は大歓迎です!

-編集-

私の素朴なアプローチはこのようなものでした

0 投票する
1 に答える
698 参照

php - モノクロ ビットマップの PHP imagebmp

モノクロ BMP の imagebmp() 関数を実装するには? 24 ビット ビットマップの実装は多数見つかりましたが、1 ビット ビットマップについては何も見つかりませんでした。

0 投票する
1 に答える
4820 参照

r - モノクロ画像を生成する R ラスター パッケージ plot()

プロット関数を使用してモノクロ画像を取得したいと思います。しかし、それはカラー画像を生成し続けます。プロット関数を使用してプロットしたモノクロ画像もあり、それらを奇妙な緑とオレンジ色で取得しました。プロット関数にモノクロ画像を提供させるにはどうすればよいですか? getValues 関数について読み込もうとしましたが、画像分析のバックグラウンドがないため、理解するのが難しいことがわかりました。getBlocks() 関数はモノクロ画像を返すようです。しかし、プロット関数だけを使用してモノクロ画像を取得する方法はありますか?

0 投票する
1 に答える
1229 参照

algorithm - モノクロ ビットマップ (1 bbp) パディングと余分な 0xF0 バイト

ピクセルあたり 1 ビットのモノクロ ビットマップ イメージを使用しています。

16 進エディタでファイルを調べると、各行が次の 16 進シーケンスで終わることに気付きましたf0 00 00 00

この問題を少し調べた結果、最後の 3 バイト00 00 00が行のパディングに対応していると結論付けました。

質問1:

1 bbp BMP 画像の場合にパディング バイト数を決定する次のアルゴリズムが正しいかどうかを知りたいです。

n_widthBMP 画像のピクセル単位の幅です。

たとえば、n_width = 100 px の場合、n_nbPaddingBytes = 3 です。

質問2:

パディング (00 00 00) とは別に、F0すべての行の 3 バイトのパディングの前にこのバイトがあります。画像の右側に 4 ピクセルの黒い縦線が表示されます。

注1:Zebraプリンターで印刷する前に画像を操作しています(画像を垂直に反転して色を元に戻しています:基本的に黒いピクセルは白いピクセルになり、その逆も同様です)。

注 2: 元の BMP イメージをペイントで開くと、右側にそのような黒い縦線はありません。

このバイト 0xF0 が各行の最後にある理由はありますか?

助けてくれてありがとう。よろしくお願いします。

0 投票する
1 に答える
662 参照

c++ - QGraphicsSceneをモノクロ画像に印刷/保存すると、品質が非常に低下します

QGraphicsSceneMono 形式で印刷/保存したいと思います。シーンに 1 つのカラー オブジェクトのみが含まれるようにしました (ウィンドウの 1 つは、実際には白黒です)。

白黒画像の品質は非常に悪いです。

赤いピクセルが黒くなることを期待していましたが、黒くなったのは一部だけでした。4 番目のペインでは、すべての黒のピクセルがモノラル出力で黒として配置されることを期待していましたが、一部のピクセルのみが黒として配置されました。

ここに画像の説明を入力

オブジェクトの色が黒のピクセルで、他の場所が白の白黒画像を作成する方法はありますか?

カラーセクションを生成するコードを簡単に変更して、元の色の代わりに黒を出力することができますが、それでは問題が解決しないようです (4 番目のパネルには黒の色がありますが、モノラル画像にはすべてのピクセルが含まれていません)。 )。

メモリコストのためにモノが必要です...

シーンを QImage に正しく出力するにはどうすればよいですか?

更新 1:カラー画像をディザリングしようとさえしました - 結果は恐ろしいものでした (より暗く、奇妙なアーティファクトであるはずの領域で明るすぎます。さらに、時間がかかる余分なステップを追加しています。最悪の場合、非常に大きな RGB を追加しています。画像...これはまさに私が避けようとしているものです。リソースが非常に限られているため、モノクロ画像が必要です)

ここに画像の説明を入力

組み込みの qt ディザ メソッドで遊んでみると、モノ イメージへのレンダリングで が使用されていることがわかりますQt::ThresholdDither

少なくとも、最初にカラー画像を構築してから新しいモノクロ画像にディザリングすることなく、1 つのステップで別のディザリングをレンダリングに適用できれば、大きな改善になります。記憶と時間はどちらも非常に重要です。

おそらく、私が本当に必要としているのは、すべてのピクセルを通過し、強度が .5 を超える場合は 1 に設定し、それ以下の場合は 0 に設定する高速な方法ですか? それでも、rgb32 イメージを作成した後の別のステップを意味します...そして、何らかの理由で「手動で」それを行うと、組み込みの方法よりも常に遅くなります。

Update2:この例でペイントされたアイテムは、グラデーション ブラシを使用した四角形です。また、色を 4 つの QGraphicsScenes に分けました。色 == color1 の場合、color2,3,4 = Qt::white などです。

0 投票する
0 に答える
834 参照

android - PNGをモノクロBMPに変換 - Android

キャンバスに黒と白の絵を描いてpng形式で保存するアプリケーションを開発しています

モノクロ bmp 形式で描画する必要がある pos プリンターを購入したのですが、sd カードにモノクロ bmp としてキャンバスを保存する方法、または読み取り png ファイルをモノクロ bmp として読み込んでいるときにキャンバスを保存するにはどうすればよいですか?

キャンバスをSDカードに保存するコードは次のとおりです

そしてファイルを読む

0 投票する
1 に答える
200 参照

android - Androidでプログラムでビットマップを24から1bppに変換するビットマップサイズを減らす方法

Android の OCR アプリケーションでビットマップ サイズを 24bpp から 1bpp-monochrome に変換する必要があります。

ビットマップを 1bpp-monochrome ( https://github.com/acdevs/1bpp-monochrome-android ) に変換するこの非常に優れたソフトウェアを見つけました。1bpp-monochrome に変換されますが、最終的なファイルのサイズは縮小されません。

ビットマップを 1bpp-monochrome に変換してビットマップ ファイルのサイズを小さくする方法について何か提案はありますか?

よろしくお願いいたします。

0 投票する
0 に答える
277 参照

c# - モノクロ 1bpp TIFF をバイト配列に変換

Photoshop で 1bpp イメージを作成し、バイトをバイト配列に読み取ろうとしています。後で、これらのモノクロ バイトをフォント記述子の下に格納して、ビットマップ フォントを作成します。

だから私はこのような画像を取得します:

後で、次のようにイメージをバイト配列に書き込みます。

ファイルをバイト配列に書き込むと、モノクロの 1bpp ではなく、24bpp または 32bpp だと思います (どちらかはわかりませんが、1bpp ではないことは確かです)。バイトを 8/16/24/32 ではなく 1bpp として書き込む方法はありますか? これはレーザー ジェット プリンター用で、ラスター データを印刷するときは 1bpp バイト ストリームしか読み取れません。うまくいけば、これは明らかです。