質問編集履歴
3
マークダウン方式になっていない箇所があったため修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -115,6 +115,8 @@
|
|
115
115
|
|
116
116
|
|
117
117
|
### 追記 SurferOnWwwさんのサンプルプログラム反映後
|
118
|
+
|
119
|
+
```ここに言語を入力
|
118
120
|
//インストール済みライブラリ
|
119
121
|
//OpenCVSharp4
|
120
122
|
//OpenCVShaerp4.Extensions
|
@@ -190,9 +192,9 @@
|
|
190
192
|
}
|
191
193
|
}
|
192
194
|
}
|
193
|
-
|
195
|
+
```
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
198
|
-
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
|
200
|
+
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -114,6 +114,85 @@
|
|
114
114
|
|
115
115
|
|
116
116
|
|
117
|
+
### 追記 SurferOnWwwさんのサンプルプログラム反映後
|
118
|
+
//インストール済みライブラリ
|
119
|
+
//OpenCVSharp4
|
120
|
+
//OpenCVShaerp4.Extensions
|
121
|
+
//OpenCVSharp4.runtime.win
|
122
|
+
|
123
|
+
using System;
|
124
|
+
using System.Collections.Generic;
|
125
|
+
using System.ComponentModel;
|
126
|
+
using System.Data;
|
127
|
+
using System.Drawing;
|
128
|
+
using System.Linq;
|
129
|
+
using System.Text;
|
130
|
+
using System.Threading.Tasks;
|
131
|
+
using System.Windows.Forms;
|
132
|
+
using System.Diagnostics; //ストップウォッチクラス使用の為記載
|
133
|
+
//以下、OpenCvsharpの使用とMatの変換用として追加
|
134
|
+
using OpenCvSharp;
|
135
|
+
using OpenCvSharp.Extensions;
|
136
|
+
|
137
|
+
|
138
|
+
namespace OpenCV_メモリリークデバッグ用
|
139
|
+
{
|
140
|
+
public partial class Form1 : Form
|
141
|
+
{
|
142
|
+
Mat image;
|
143
|
+
Stopwatch sw;
|
144
|
+
|
145
|
+
public Form1()
|
146
|
+
{
|
147
|
+
InitializeComponent();
|
148
|
+
}
|
149
|
+
|
150
|
+
private void Form1_Load(object sender, EventArgs e)
|
151
|
+
{
|
152
|
+
pictureBox1.SizeMode = PictureBoxSizeMode.Zoom;
|
153
|
+
}
|
154
|
+
|
155
|
+
private void BtnLoad_Click(object sender, EventArgs e)
|
156
|
+
{
|
157
|
+
var ofd = new OpenFileDialog();
|
158
|
+
//ファイルフィルタ
|
159
|
+
ofd.Filter = "Image File(*.bmp,*.jpg,*.png,*.tif)|*.bmp;*.jpg;*.png;*.tif|Bitmap(*.bmp)|*.bmp|Jpeg(*.jpg)|*.jpg|PNG(*.png)|*.png";
|
160
|
+
//ダイアログの表示
|
161
|
+
if (ofd.ShowDialog() == DialogResult.OK)
|
162
|
+
{
|
163
|
+
string image_path = ofd.FileName; //選択した画像のパスを取得
|
164
|
+
image = Cv2.ImRead(image_path); //ImRead関数で画像を読み込む
|
165
|
+
pictureBox1.Image = BitmapConverter.ToBitmap(image); //MatをBitmapへ変換し pictureBox1で表示させる
|
166
|
+
}
|
167
|
+
}
|
168
|
+
|
169
|
+
private void BtnStart_Click(object sender, EventArgs e)
|
170
|
+
{
|
171
|
+
sw = new Stopwatch(); // ストップウォッチオブジェクト生成
|
172
|
+
Bitmap pic = null;
|
173
|
+
sw.Start(); //時間計測スタート
|
174
|
+
|
175
|
+
for (int i=0; i<1000; i++)
|
176
|
+
{
|
177
|
+
//グレー化
|
178
|
+
using (var grayImage = image.CvtColor(ColorConversionCodes.BGR2GRAY))
|
179
|
+
//二値化
|
180
|
+
using (var thresholdImege = grayImage.Threshold(128, 255, ThresholdTypes.Binary))
|
181
|
+
{
|
182
|
+
pic = BitmapConverter.ToBitmap(thresholdImege);
|
183
|
+
pictureBox1.Image = pic;
|
184
|
+
}
|
185
|
+
}
|
186
|
+
|
187
|
+
sw.Stop();//時間計測ストップ
|
188
|
+
Console.WriteLine(sw.Elapsed);//計測時間表示
|
189
|
+
|
190
|
+
}
|
191
|
+
}
|
192
|
+
}
|
117
193
|
|
118
194
|
|
119
195
|
|
196
|
+
|
197
|
+
|
198
|
+
|
1
エラー内容追加
test
CHANGED
File without changes
|
test
CHANGED
@@ -6,6 +6,9 @@
|
|
6
6
|
### 内容
|
7
7
|
OpenCVにて二値化処理を1000回行い、その時間を計測するプログラムを作成しました。
|
8
8
|
しかし、プログラムを実行したところメモリリークの影響でエラーが発生してしまいます。
|
9
|
+
|
10
|
+
###エラーメッセージは以下です。画像にて失礼します。
|
11
|
+

|
9
12
|
|
10
13
|
|
11
14
|
使用した画像のサイズ:258 KB
|