問題タブ [javax.imageio]
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.
java - 接続がタイムアウトしたため、ImageIO.read(url) を介して画像を取得できません
次のコードは常に失敗するようです。
URL を確認しましたが、有効な jpg 画像です。私が得るエラーは次のとおりです。
スレッド「メイン」での例外 javax.imageio.IIOException: URL から入力ストリームを取得できません!
javax.imageio.ImageIO.read(ImageIO.java:1385)
で maestro.Main2.main(Main2.java:25) で原因: java.net.ConnectException: java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:310)の
java.net.AbstractPlainSocketImpl.socketConnect(Native Method)で 、java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl. java:176) で java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:163) で java.net.Socket.connect(Socket.java:546) で java.net.Socket.connect(Socket.java:495) でsun.net.www.http.HttpClient.openServer (HttpClient.java:409) では、sun.net.NetworkClient.doConnect(NetworkClient.java:174)、sun.net.www.http.HttpClient.openServer(HttpClient.java: 530)
sun.net.www.http.HttpClient.(HttpClient.java:240)
で sun.net.www.http.HttpClient.New(HttpClient.java:321)
で sun.net.www.http.HttpClient.New( HttpClient.java:338)、sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:814)、sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:755 )
_
_
.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:680)
、sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1005)
、java.net.URL.openStream(URL ) .java:1029)
at javax.imageio.ImageIO.read(ImageIO.java:1383)
... 1 つ以上Java 結果: 1
これは何を意味するのでしょうか?面白いことに、インターネット接続を隣人のワイヤレスの接続に変更すると、突然機能します。
java - IP カメラで動的に生成された画像の高速 I/O を実行できない
リモート サーバー (例: http://example.com/images ) に保存されている画像ファイルがあります。このフォルダー内の画像は、100 ミリ秒あたり 1 画像の割合で更新されます 。MJPEG 画像を送信する IP カメラを考えてみてください。
リモートサーバーに接続するためにApache HTTPクライアントAPIを使用しています。コンテンツのストリームを取得しています
I/O を高速化するために、入力ストリームを BufferedInputStream にまとめています。
FileChannel や MemoryMappedBuffers などの NIO 機能を使用して、I/O パフォーマンスを改善し、非ブロッキング モードでリモート サーバー上の生成された画像ファイルにアクセスしたいと考えています。
しかし、私が見たサンプルは、ファイルオブジェクトをパラメーターとして取る FileInputStream / RandomAccessFiles の作成について話しています。
FileChannel を取得するために FileInputStream に変換できないリモート サーバーからの応答として InputStream を取得しています。
fileChannelsを提供するApache httpクライアントAPIに実装があるかどうかを知りたいです。
または、ソケットを調べてチャネル アクセスを取得する必要があります。javax.imageIO も調査しましたが、より高速なI/Oの要件を満たすかどうかはわかりません
java - ImageIO.writeはバッファリングされていますか?
私は書くべきですか
それ以外の
つまり、ImageIOファイル操作はデフォルトでバッファリングされていますか?
ありがとう!
java - ImageIOはJPEGファイルを書き込めません
jpegファイルに書き込もうとしているBufferedImageがありますが、Javaプログラムが例外をスローします。同じバッファをgifとpngに正常に保存できます。私は解決策をGoogleで探し回ってみましたが、役に立ちませんでした。
コード:
例外:
java - JavaでPGM画像を読み取る方法は?
ここでは(いつものように)単純なものが欠けているような気がします。
Javaを使用してPGMイメージを読み取ろうとしています。Matlabはそれをうまく行います-Matlabで画像ピクセル(たとえば、小さな32x32画像)を出力すると、次のようなものが得られます。
ただし、私のJavaリーダーはこれを出力します。
127を超えるピクセル値は65533で埋められているように見えますが、ランダムな値が正しくない場合があり、下の行のほぼ全体が-1の値に割り当てられています。
これが私が使用しているコードです:
任意のアイデアをいただければ幸いです。
編集符号なしのPGM値は次のとおりです。
ヘッダーは次のようになります。
編集#2
以下に、概念実証コードの完全な出力を示します。
スローされた例外で参照されている49行目は次のとおりです。
問題は、これらの画像ファイルがASCIIテキスト/数字とバイナリ画像データの両方で構成されているという事実と関係があると確信しています。しかし、JavaがPNGの読み取りに問題がない場合、なぜPGMのサポートがないのでしょうか。
編集3
わかりました、動作する実装を見つけました...残念ながら、非推奨です:
Javaのドキュメントによると、メソッドがrawバイトを文字に正しく変換しないStreamTokenizer(InputStream)
ため、コンストラクターは非推奨になりました。DataInputStream.readLine()
ただし、この特定のケースではヘッダーで機能するようであり、次のバイナリイメージデータでも機能することは明らかです。
残念ながら、それはまだ非推奨でありBufferedReader
、ドキュメントが示唆しているようにaを混在させることにより、ヘッダーを読み取り、を使用して生のバイトを読み取ろEOFException
うとした後、結果はsになるだけのようです。DataInputStream
まだ解決策を探しています...
java - JAIImageIO-コアcodecLibソース
JAI ImageIO-coreには、一連のネイティブコーデックが付属しています。コーデックは、一連の.soファイルと.dllファイルにバンドルされています。主にclib_jiio.dllclib_jiio_sse2.dllclib_jiio_util.dll。mediaLib(mlib)のソースは見つかりましたが、これらのコーデックのソースは見つかりませんでした。ソースがどこにあるか知っている人はいますか?またはそれらが単にオープンソースではない場合はどうなりますか?
java - JAI FileLoad/FileStore 操作と JAI ImageRead/ImageWrite 操作。違いは?
JAI の FileLoad/FileStore 操作とその ImageRead/ImageWrite 操作の違いは何ですか?
いずれかのセットが他のセットよりも優れていますか? デフォルトとして使用する必要があるものはどれですか?
iphone - ImageIO:エラー-MetadataLib.dylibが見つかりません
アプリを実行すると、コンソールで奇妙なエラーが発生することがあります。
これが何に関連しているかはわかりませんが、AdMobs広告を実行しています。
java - メタデータを含む jpeg ファイルの作成
BufferedImageを作成し、それを JPEG としてディスクに保存するJavaアプリケーションがあります。画像にキャプションを追加したいと思います。画像自体のテキストによって画像が混雑するのを防ぐために、キャプションを JPEG のメタデータに書き込むことができれば素晴らしいことです。
解決策をあちこち探しましたが、満足のいくものは見つかりませんでした。Sanselan はよく出てきますが、適切な使い方がわかりません。既存のメタデータを変更する例を見つけましたが、ファイルは ImageIO.write() または Sanselan.writeImage() から単純に作成されているため、メタデータは含まれていません。
私が探していることを行う別の投稿を見つけましたが、それは C# であり、Java が必要です。
どんな助けでも大歓迎です。
java - Javaの配列へのPNG画像の高速ロード
PNG 画像をロード (およびデコード) し、それらを Java で 1 次元配列に変換したいと考えています。ImageIO.read() を使用してこれを実行し、ピクセルを配列にコピーすることは明らかですが、2 倍のメモリ (ラスター + 最終配列) を消費し、必要以上の処理時間がかかります。
これについてどうすればよいですか?最悪の場合、PNG 仕様を自分で実装できますが、それはかなり複雑な作業のようです。理想的には、「プラグイン」できる PNG 実装が必要です。あまり理想的ではありませんが、(com.sun コードとは異なり) 理解しやすく、変更できる (そして許可される) PNG リーダーは問題ありません。