私はjpgイメージのピクセルの色を取得しようとしています。オンラインで見つけることができるすべてのチュートリアルは、もはや存在しないピクセルパケットを使用すると言います。検索とGoogleを介して検索私はgetvirtualpixelsが新しい方法かもしれないが、そのdoesntが最新版に存在するように見えた。どのようにして画像キャッシュを持つ画像からピクセルの色を取得するのですか?私はピクセルbtwを設定する必要はありません。 windows10とビジュアルスタジオ2015を使用Magick ++はピクセルカラーを取得します。ピクセルパケットはもう存在しないようです。
0
A
答えて
2
PixelPacket
構造体はQuantum
データ型へのポインタに置き換えられました。 Porting to ImageMagick Version 7から、理解しなければならない重要なことは、ピクセルが動的な部分(または以前は「チャネル」と呼ばれていた「特色」)を持つことができることです。
ImageMagickバージョン7は、1から32までの任意の数のチャンネルをサポートしており、Quantumタイプのピクセルチャンネルの配列を返す単一のメソッドで簡単にアクセスできます。あなたは今、決定論を扱うオーサリングコードを担当している
(右用語ということでしょうか?)ピクセルチャンネル。たとえば...
Magick::Image rose("rose:");
const Magick::Quantum * q = rose.getConstPixels(5, 5, 1, 1);
size_t channel_length = rose.channels();
for (size_t k = 0; k < channel_length; k++) {
std::cout << "Channel " << k << " = ";
std::cout << q[k] << " of " << QuantumRange << std::endl;
}
/** Outputs
-------
Channel 0 = 13107 of 65535
Channel 1 = 12079 of 65535
Channel 2 = 11308 of 65535
*/
あなたのコードを見て、またはあなたのフィニアルの目標がどうなるか理解しなければ、私はあなたが本当にだけのRGB情報を欲しいよね。その場合、Magick::Image.getColor
は動作します。
Magick::Image rose("rose:");
Magick::Color pixelColor = rose.pixelColor(5, 5);
std::cout << "Channel 0 = ";
std::cout << pixelColor.quantumRed() << " of " << QuantumRange << std::endl;
std::cout << "Channel 1 = ";
std::cout << pixelColor.quantumGreen() << " of " << QuantumRange << std::endl;
std::cout << "Channel 2 = ";
std::cout << pixelColor.quantumBlue() << " of " << QuantumRange << std::endl;
/** Outputs
-------
Channel 0 = 13107 of 65535
Channel 1 = 12079 of 65535
Channel 2 = 11308 of 65535
*/
しかし、!時には、すでに作業しているフォーマットにイメージデータをエクスポートする方が簡単です。たとえば、Green値はシングルポイント浮動小数点リストとしてのみ必要な場合があります。
Magick::Image rose("rose:");
Magick::PixelData pixelBlob(rose, "G", Magick::FloatPixel);
float * buffer = (float *)pixelBlob.data();
// ...
関連する問題
- 1. Magick ++でピクセルカラーを取得する
- 2. ピクセルカラーを取得しようとする
- 3. PHPはデータベースに存在しない値を取得します
- 4. Wordpressは存在しないカテゴリのアーカイブを取得しようとしています
- 5. もう存在しないgit remoteを削除するには
- 6. タグが存在する場合、タグの属性を取得します。そうでない場合はなし
- 7. もう存在しないクライアントに書き込もうとすると、remote-actorフレームワークは何をしますか?
- 8. コード泡のようなものはまだ存在しますか?
- 9. もう存在しないページをリダイレクトするにはどうすればよいですか?
- 10. AVCaptureSessionまたはAVCaptureVideoPreviewLayerのピクセルカラーを取得
- 11. Firebase "addListenerForSingleValueEvent"はもはやFirebaseデータベースに存在しない古い値を取得し続けますか?
- 12. git diffは存在しないファイルを比較しようとします
- 13. MATLABガイドは存在しない関数を実行しようとします
- 14. Entity Frameworkが存在しない列を取得しようとしています
- 15. unix locateコマンドは、もはや存在しないファイル/フォルダをどのように表示しますか?
- 16. Hibernateは子を取得しませんが、存在していても存続しますか?
- 17. 常に存在しないキャプチャグループを取得するには?
- 18. 存在しない要素のIDを取得しますか?
- 19. このようなデータ構造は存在しますか?
- 20. DoはGoに存在しますか? (Pythonのような)
- 21. Drupalがもう存在しないフィールドを探しています
- 22. ファイルは存在しますが、コンソールには存在しないというメッセージが表示されます
- 23. UnsatisfiedLinkError、そのようなファイルまたはディレクトリは存在しませんがファイルが存在します
- 24. Hashmapは、存在するオブジェクトを取得しようとするとNullを返します。
- 25. Grails GORMマッピングはどこにも存在しない "class"フィールドにアクセスしようとします
- 26. キーが存在しない場合、連想JavaScript配列で最も近いキーインデックスを取得するにはどうすればよいですか?
- 27. ミドルウェアではないオブジェクトのプロパティを取得しようとしています
- 28. 現在のコンテキストに存在しないサブクラスを取得する
- 29. イメージビューを削除してもう存在しないようにするにはどうすればよいですか?
- 30. シリウスは存在しないメソッドを呼び出すようです