برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی

برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

داده هایی در مورد برق، الکترونیک، الکتروتکنیک، مکاترونیک، پزشکی، کشاورزی و

تبلیغات
آخرین نظرات

ذخیره چند عکس با اسامی مختلف از یک ویدیو

ShahBaz | دوشنبه, ۱۵ شهریور ۱۳۹۵، ۰۹:۰۱ ق.ظ

What did you expect this to do? You always write the same image called "images.jpg". You could simply achieve your task via stringstreams (#include <sstream>)

if (response==1)
{
    stringstream file;
    file << "image" << count_4 << ".jpg";
    count_4++;

    cv::imwrite(file.str(), pre_img);

}

If you want to write to a certain folder, you could try this. Im not 100% sure this works on windows. On linux it worked with the linux folder structure.

file << "D:\images\image" << count_4 << ".jpg";

You can use std::stringstream to build sequential file names:

First include the sstream header from the C++ standard library.

#include<sstream>

using namespace std;

Then inside your code, you can do the following:

stringstream ss;

string name = "cropped_";
string type = ".jpg";

ss<<name<<(ct + 1)<<type;

string filename = ss.str();
ss.str("");

imwrite(filename, img_cropped);

To create new folder, you can use windows' command mkdir in the system function from stdlib.h:

 string folderName = "cropped";
 string folderCreateCommand = "mkdir " + folderName;

 system(folderCreateCommand.c_str());

 ss<<folderName<<"/"<<name<<(ct + 1)<<type;

 string fullPath = ss.str();
 ss.str("");

 imwrite(fullPath, img_cropped);


کدهای خودم برای ذخیره متوالی چند عکس:

     #include<sstream>
      

      stringstream file;
      int z=0;

int main()

     vector<int> compression_params;
     compression_params.push_back(IMWRITE_PNG_COMPRESSION);

while (true)

        file << "Alef-" << z << ".png";
        imwrite(file.str(),imgLines,compression_params);
        z++;
        file.str("");
        //اگر خط بالا نباشد حرف الف-1 بعد از ذخیره عکس اول حذف نمیشود و عکس بعدی با عنوان
        //الف-1 الف-2 ذخیره میشود. یعنی پشت سرهم میافتند


از این کد به نظرم استفاده شود بهتر است:

     #include<sstream>     

      int z=0;

int main()

     vector<int> compression_params;
     compression_params.push_back(IMWRITE_PNG_COMPRESSION);

while (true)

      stringstream file;

        file << "Alef-" << z << ".png";
        imwrite(file.str(),imgLines,compression_params);
        z++;


نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی