OpenCV 3

Takami Torao OpenCV 3 #OpenCV
  • このエントリーをはてなブックマークに追加

基本的な画像変換

以下は画像を読み出してグレイスケールに変換し保存するサンプルである。変換部分を置き換えれば基本的な画像ファイルの加工処理として使用できる。

import org.opencv.core.{Core, Mat}
import org.opencv.imgcodecs.Imgcodecs
import org.opencv.imgproc.Imgproc

object Main extends App {
  System.loadLibrary(Core.NATIVE_LIBRARY_NAME)

  val src = Imgcodecs.imread("shiitake.jpg")
  if(!src.empty()) {
    val dst = new Mat()
    Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY)  // グレイスケール変換
    Imgcodecs.imwrite("shiitake_gray.jpg", dst)
    System.err.println(s"SUCCESS: ${src.rows()}x${src.cols()}")
  } else System.err.println("ERRPR file not found")
}

オリジナル

グレイスケール

Imgproc.cvtColor(src, dst, Imgproc.COLOR_BGR2GRAY)

ぼかし

Imgproc.blur(src, dst, new Size(10, 10))

ダウンサンプリング

Imgproc.pyrDown(src, dst)

輪郭検出

Imgproc.cvtColor(src, gray, Imgproc.COLOR_BGR2GRAY)
Imgproc.Canny(gray, dst, 50, 100, 3, true)

参照

  1. Welcome to OpenCV Java Tutorials documentation!
  2. Gary Bradski, Adrian Kaehler (2018), 詳解 OpenCV 3 ― コンピュータビジョンライブラリを使った画像処理・認識, O'REILLY JAPAN