OpenCV를 사용하고 있으며 CvHist라는 클래스 안에 들어있는 일부 이미지의 막대 그래프를 계산 중입니다. CvHist 객체가 있지만 나중에 다른 파일에 사용하기 위해 객체를 저장하려고합니다. 어떻게해야합니까? 개체를 C++로 파일에 작성하십시오.
는) 그것을 좋아, 당신
0
A
답변
3
는 사실, OpenCV의에서 그렇게 할 수있는 구체적인 방법이있다. 당신은 다음과 같은 XML 파일에서 개체를 작성할 수 있습니다
CvFileStorage* storage = cvOpenFileStorage("globalHistogram.xml", 0, CV_STORAGE_WRITE);
cvWrite(storage, "histogram", global_histogram);
을 읽고하는 것은 같은 것입니다 :
CvHistogram* global_histogram;
CvFileStorage* storage = cvOpenFileStorage("globalHistogram.xml", 0, CV_STORAGE_READ);
global_histogram = (CvHistogram *)cvReadByName(storage, 0, "histogram" ,0);
0
1), 파일 형식을 결정 기존의 형식이 적합한 경우 (바이트 수준에서 계획을 감사드립니다.
2) 귀하가 결정한 파일 형식으로 데이터를 작성하십시오.
2
부스트 직렬화 라이브러리는 꽤 좋습니다. 그것은 당신이 원하는 것을 할 수 있습니다. http://www.boost.org/doc/libs/1_49_0/libs/serialization/doc/index.html
당신은 다음의 라인을 따라Serialise
라는 클래스, 뭔가 방법을 추가 할 수 있습니다
0
:
CvHist::Serialise(std::string fName, bool read)
{
if (read)
{
std::ifstream fStream(fName);
// Read in values from file, eg:
fStream >> this->param1;
fStream >> this->param2;
// ...etc
}
else
{
std::ofstream fStream(fName, ios::trunc); // (ios::trunc clears file)
// Read out values into file, eg:
fStream << this->param1;
fStream << this->param2;
// ...etc
}
}
주, 순서가 중요하다 - 당신이 파일에서 다양한 매개 변수를 읽는 순서해야 매개 변수를 파일에 쓰는 순서와 일치시킵니다. 또한 파일의 데이터로 채워진 CvHist
개체를 만드는 데 지금 #include <fstream>
에 기억 data.txt
당신은 단순히이를 작성할 수 있습니다
CvHist object;
object.Serialise("data.txt", true);
객체를 채워 파일에 저장하려면 한 경우 이 시간은, 말하자면, bob.dat
이 쓰기 :
// (object has been populated with data previously)
object.Serialise("bob.dat", false);
관련 문제
- 1. 부트 로더를 C로 작성하십시오
- 2. 특정 줄을 파일에 작성하십시오.
- 3. 단락을 파일에 작성하십시오.
- 4. 파일에 popen() 출력을 작성하십시오.
- 5. 어딘가에 stdin을 닫으면서 C로 쉘을 작성하십시오.
- 6. 유닉스 chmod의 단순화 된 버전을 C로 작성하십시오
- 7. 구조체를 C로 파일에 저장하고 복원하십시오.
- 8. MSI 텍스트 파일에 TARGETDIR을 작성하십시오.
- 9. 중복을 찾아서 로그 파일에 작성하십시오
- 10. 상위 10 점을 파일에 작성하십시오.
- 11. 파일에 SUP 클래스 객체를 작성하십시오.
- 12. 비트 맵을 덩어리로 파일에 작성하십시오.
- 13. 이상한 출력을 C 파일에 작성하십시오.
- 14. Xcode 프로젝트 디렉토리의 파일에 작성하십시오.
- 15. XML 파일에 XML 스트림을 작성하십시오.
- 16. WPF 출력을 이미지 파일에 작성하십시오.
- 17. 부울 값을 PHP 파일에 작성하십시오.
- 18. 파일에 자바 스크립트 배열을 작성하십시오
- 19. 파일에 명령 줄 출력을 작성하십시오.
- 20. 파일에 부트 스트랩 출력을 작성하십시오.
- 21. email.Message 개체를 파일에 저장하십시오.
- 22. 파일을 비트 형식으로 C로 파일에 쓰기
- 23. 이름이 이미 텍스트 파일에 없으면 컴퓨터 이름을 텍스트 파일에 작성하십시오.
- 24. 현재 svn 버전을 텍스트 파일에 작성하십시오.
- 25. 자바 os 터미널의 내용을 자바의 파일에 작성하십시오.
- 26. bash 스크립트를 사용하여 파일에 행을 작성하십시오.
- 27. 추출 된 데이터를 jmeter를 사용하여 파일에 작성하십시오.
- 28. vbscript를 사용하여 중국어 문자를 텍스트 파일에 작성하십시오.
- 29. 개체 및 문자열 사전을 파일에 작성하십시오.
- 30. writeToFile을 통해 plist 파일에 NSMutable 배열을 작성하십시오.