2022.11.19

画像処理

画像のサイズを取得

このサイトで紹介している画像操作クラスMyBufferedImage0」を利用して、JPEG/PNG/BMP/TIFFなどの画像の縦と横のピクセル数を取得するソースコードを紹介しています。

変換方法

以下の方法で画像のサイズを取得します。

①変換前の画像をMyBufferedImage0.readメソッドで読み込む
②MyBufferedImage0.getWidthメソッドで画像の横方向のピクセル数を取得
③MyBufferedImage0.getHeightメソッドで画像の縦方向のピクセル数を取得

以上です。

Javaソースコード

画像PNG形式ファイルに変換するJavaソースコードです。MyBufferedImage0クラスを利用しています。

GetImageSize.java

001
002
003
004
005
006
007
008
009
010
011
012
013
014
015
016
017
018
019
020
021
022
023
024
025
026
027
028
029
030
031
032
033
034
035
public class GetImageSize {
	public static void main(String[] args) {
		// ファイル名
		String imgname;

		// 入力した引数が1つ以上かを調べる
		if ( 1 > args.length ) {
			// 入力した引数が1つ未満の場合、使用方法を表示する
			System.out.println( "GetImageSize [入力画像名]" );
			return;
		}

		// 入力画像名をinnameに代入(拡張子省略なし)
		imgname  = args[ 0 ];

		// 画像操作クラス
		MyBufferedImage0 img = new MyBufferedImage0();

		// 入力画像の読み込み
		if ( !img.read( imgname ) ) {
			System.out.println( "読み込みに失敗しました!(" + imgname +")" );
			return;
		}

		// 画像の横のピクセル数を取得
		int width = img.getWidth();

		// 画像の縦のピクセル数を取得
		int height = img.getHeight();

		// 画像サイズを表示
		System.out.println( "横方向のピクセル=" + width );
		System.out.println( "縦方向のピクセル=" + height );
	}
}

このソースのコンパイルには、JavaソースファイルMyBufferedImage0.Java」が必要です。以下から取得してください。

BufferedImageクラスを利用して、利便性の高い画像操作クラスを作成しました。興味のある方は、是非ご覧ください。

2022.11.16

実行方法

input.jpgのサイズを取得する例

java GetImageSize input.jpg

出力結果

横方向のピクセル=400
縦方向のピクセル=300

Javaソースコードの解説

ここから、ソースコードを詳しく解説していきます。

001
public class GetImageSize {

クラス名を、GetImageSizeとしています。

002
	public static void main(String[] args) {

このmainメソッドからプログラムを実行します。

003
004
		// ファイル名
		String imgname;

このプログラムで使うファイル名を格納する変数を宣言しています。

006
007
008
009
010
011
		// 入力した引数が1つ以上かを調べる
		if ( 1 > args.length ) {
			// 入力した引数が1つ未満の場合、使用方法を表示する
			System.out.println( "GetImageSize [入力画像名]" );
			return;
		}

1つ以上の引数が与えられたかをチェックし、1つ未満の場合に、使い方のメッセージを表示し、returnによってmainメソッドを抜けています。

013
014
		// 入力画像名をinnameに代入(拡張子省略なし)
		imgname  = args[ 0 ];

与えられた引数を、入力画像名の変数(imgname)に代入しています。

016
017
		// 画像操作クラス
		MyBufferedImage0 img = new MyBufferedImage0();

画像を操作するMyBufferedImage0クラスの実体imgを作成しています。

019
020
021
022
023
		// 入力画像の読み込み
		if ( !img.read( imgname ) ) {
			System.out.println( "読み込みに失敗しました!(" + imgname +")" );
			return;
		}

MyBufferedImage0.readメソッドで、画像ファイルimgnameを読み込んでいます。

MyBufferedImage0.readメソッド

boolean create( String imgname )
・指定した画像ファイルを読み込みます。

  パラメータ imgname  : フルパスの画像ファイル名(拡張子は省略不可)

  戻り値    true   : 画像の読み込みに成功
         false  : 画像の読み込みに失敗
025
026
		// 画像の横のピクセル数を取得
		int width = img.getWidth();

MyBufferedImage0.getWidthメソッドで、横方向のピクセル数を取得し、int型変数widthに代入しています。

MyBufferedImage0.getWidthメソッド

public int getWidth()
・画像の横のピクセルサイズを返します。

  パラメータ なし

  戻り値     画像の横ピクセル数
028
029
		// 画像の縦のピクセル数を取得
		int height = img.getHeight();

MyBufferedImage0.getHeightメソッドで、縦方向のピクセル数を取得し、int型変数heightに代入しています。

MyBufferedImage0.getHeightメソッド

public int getHeight()
・画像の縦のピクセルサイズを返します。

  パラメータ なし

  戻り値     画像の縦ピクセル数
031
032
033
		// 画像サイズを表示
		System.out.println( "横方向のピクセル=" + width );
		System.out.println( "縦方向のピクセル=" + height );

横方向のピクセル数widthと、縦方向のピクセル数heightをprintlnメソッドコンソール出力しています。

関連コンテンツ

画像フォーマット形式・色・大きさ・傾きなどの変更、特定の図形(文字・記号など)を見つけたり、取り出したりする画像処理について詳しく解説。

2015.11.29

一般に使われている画像フォーマットには、いろいろな種類があります。画像フォーマットBMP、JPEG、PNG、GIF、TIFFの特徴を知ってますか?

2015.11.29

このサイトのオリジナルクラスのMyBufferedImage0クラスを利用して、JPEG、BMP、TIFFなどの各種画像ファイルをPNG形式のファイルに保存するプログラムを紹介しています。

2022.11.18

画像の一部を切り出して、新しい画像に保存する方法を解説しています。ソースコード付きです。

2023.02.23

条件式を判断して処理を分岐する方法を詳しく説明しています。

2023.03.20

変数やクラスに格納されている値をコンソール出力する方法は?

2020.03.23

メソッドを抜けるときに使用するreturn文について説明しています。

2020.03.20

プログラムの最初に実行されるメソッドは?

2022.12.13

プログラミングで使う変数って何?

2020.03.23

Javaのプログラムを書いてみませんか?プログラムの書き方をくわしく説明しています。

2020.03.23

「Javaソースコード」から実行可能な「オブジェクトコード」に変換する方法をくわしく説明しています。

2020.03.23

BufferedImageクラスを利用して、利便性の高い画像操作クラスを作成しました。興味のある方は、是非ご覧ください。

2022.11.16

デジタル画像データを構成している要素について解説しています。

2015.12.22

画像って何?

2022.07.25

プログラミング言語とは?種類や特徴について説明しています。

2022.08.03

ファイルは、データを取り扱うとき管理単位の一つで、ハードディスク、SSD,USBメモリ、CD/DVD/ブルーレイなどの記憶媒体に保存するときに使われます。詳しくは、記事をご覧ください。

2022.08.12

Javaプログラムの構成について解説しています。詳しくは、こちらをご覧ください。

2020.03.23

コンピュータに保存されたファイルを特定するための名前がファイル名です。その付け方は?

2016.11.23

メソッドの定義方法を詳しく解説しています。Javaのサンプルソースコードを使った説明もあります。

2020.03.23

広告