ブックマーク / minus9d.hatenablog.com (2)

  • cv::Mat使用時の画素へのアクセス方法 - minus9d's diary

    OpenCVのcv::Matクラスに格納された画像データの各画素にアクセスする方法を、以下の2種類ご紹介する。 atメソッドを用いる方法 dataメソッドを用いる方法 画素にアクセスする回数が少ないのならatメソッド、全画素に順番に読み出すなど頻繁に画素にアクセスするのならdataメソッドを用いる方法が良いと思う。 atメソッドを用いる場合 画素をピンポイントで読んだり書いたりするには、atメソッドを使う。ただし、atメソッドを使うには、Matクラスが1画素あたり何バイトからなるのかを事前に知っていないといけない。 例:白黒画像の場合 1画素の濃淡は1バイト(0〜255)で表されるので、以下のようになる。 cv::Mat img = cv::imread("cat.jpg"); int intensity = img.at<unsigned char>(y, x); //X座標がx, Y座

    cv::Mat使用時の画素へのアクセス方法 - minus9d's diary
    M1spark20Beta
    M1spark20Beta 2018/06/12
    piCameeraのbgrデータを直接dataに書き出せばよいと確信を持った記事
  • OpenCV 2.xで1次元のヒストグラム画像を生成する - minus9d's diary

    OpenCV 2.xでヒストグラム画像を生成する方法を調べました。結論から言うと、ヒストグラムを生成する関数はあるんですが、それを画像として表示する簡便な方法はないようです。いくつかのサイトを参考にして、自分でもヒストグラム画像を作成してみました。Windows 7 + OpenCV 2.4.8で動作を確認しています。 なお、OpenCVにこだわらないのであれば、PythonのmatplotlibやR言語を使うことも検討した方がよいと思います。 ヒストグラムの作成 白黒画像の輝度をもとにヒストグラムを作っていきます。まず白黒モードで画像を読み込みます。 cv::Mat img = cv::imread("..\\img\\baboon200.jpg", CV_LOAD_IMAGE_GRAYSCALE); 次に、ヒストグラムを作成する関数cv::calcHistを呼びます。引数が多くややこし

    OpenCV 2.xで1次元のヒストグラム画像を生成する - minus9d's diary
    M1spark20Beta
    M1spark20Beta 2017/12/28
    ヒストグラムを扱った2値化処理の参考にした
  • 1