ToBitmap() したものを PictureBox に渡してみると上下反転してる

this.imgCurrent.Origin = 1;

とかすればいいの?でも ReadOnly らしいのよね.

プロパティまたはインデクサ 'KwsmLab.OpenCvSharp.IplImage.Origin' は読み取り専用なので、割り当てることはできません。

Display IplImage in PictureBox

Bitmap bitmap = null;
using(IplImage ipl = new IplImage("bar.png", LoadMode.Color)){
    bitmap = ipl.ToBitmap();
}

Form form = new Form();
form.Text = "Display IplImage in PictureBox";
form.ClientSize = bitmap.Size;

PictureBox pictureBox = new PictureBox();
pictureBox.Dock = DockStyle.Fill;
pictureBox.SizeMode = PictureBoxSizeMode.StretchImage;
pictureBox.Image = bitmap;

form.Controls.Add(pictureBox);

form.ShowDialog();
GitHub - shimat/opencvsharp: .NET Framework wrapper for OpenCV

描画する度に回転するようにして解決した.美しくない.

		private void refreshPicBoxPreview()
		{
			imgCurrent = this.capAvi.RetrieveFrame();
			this.picBoxPreview.Image = imgCurrent.ToBitmap();
			this.picBoxPreview.Image.RotateFlip(RotateFlipType.RotateNoneFlipY);
		}

04.画像を回転・反転する UPDATE:2006/10/18

PictureBoxのイメージを回転・反転するにはImage.RotateFlipメソッドを使用します。引数にはRotateFlipType列挙体を指定します。(たくさんのメンバがありますが、RotateNoneで始まるものが「回転しない」、それ以外が「回転する」と覚えておけば良いと思います。またXがついていれば水平方向に、Yがついていれば上下方向に反転します。)

RotateFlipType列挙体
メンバ名 説明
Rotate180FlipNone 反転せずに 180 度回転する。
Rotate180FlipX 180 度回転してから、水平方向に反転する
Rotate180FlipXY 180 度回転してから、水平方向と垂直方向に反転する
Rotate180FlipY 180 度回転してから、垂直方向に反転する
Rotate270FlipNone 反転せずに 270 度回転する
Rotate270FlipX 270 度回転してから、水平方向に反転する
Rotate270FlipXY 270 度回転してから、水平方向と垂直方向に反転する
Rotate270FlipY 270 度回転してから、垂直方向に反転する
Rotate90FlipNone 反転せずに 90 度回転する
Rotate90FlipX 90 度回転してから、水平方向に反転する
Rotate90FlipXY 90 度回転してから、水平方向と垂直方向に反転する
Rotate90FlipY 90 度回転してから、垂直方向に反転する
RotateNoneFlipNone 回転も反転も行わない
RotateNoneFlipX 回転せずに水平方向に反転する
RotateNoneFlipXY 回転せずに水平方向と垂直方向に反転する
RotateNoneFlipY 回転せずに垂直方向に反転する
04.画像を回転・反転する < PictureBox Tips < コントロール Tips メニュー < C# 2005 Tips HOME < HIRO's.NET