-4
は
私は100枚の画像を平均化し、10個のJPEGファイルこのループを解除するにはどうすればいいですか?
int main(int argc, char** argv)
{
VideoCapture cap("C:/Pics/test_%d.jpeg");
while (cap.isOpened())
{
Mat img;
cap.read(img);
// process(img);
if (img.empty()) break;
for (int i = 0; i < 10; i++)
{
Mat avgImg(480, 640, CV_32FC3, Scalar());
for (int avgnumb = 10 * i; avgnumb < (10 * i) +10; ++avgnumb)
{
cv::accumulate(img, avgImg);
}
avgImg = avgImg/10;
avgImg.convertTo(avgImg, CV_8UC3);
char filename[100];
sprintf(filename, "C:/AvgPics/test_%d.jpeg", i);
imwrite(filename, avgImg);
}
}
return 0;
}
にそれらを保存するには、このコードを持っているしかし、9日のファイルを保存し終えた後、それを破ると、何度も何度も保存したファイルを上書きしていきません。誰もがこれで私を助けることができますか?どうもありがとう。
「while」を削除する – Amit
あなたは2つのループを持っています。あなたは 'while'を忘れましたか? – PaulMcKenzie
なぜ 'VideoCapture'オブジェクトコンストラクタのフォーマット文字列がありますか?その「%d」の議論はどのようになりますか?あなたはそれをどこに置いていますか? –