Dear All,
I am trying to use opencv with windows forms application to display an image. I created two extra classes. one as the model and other as the controller class. I imported opencv libraries in the model class, imported the modal class in the controller class and then the controller class in form.h. see code below` Model class
#include "opencv2\core\core.hpp";
#include "opencv2\imgproc\imgproc.hpp";
#include "opencv2\imgcodecs\imgcodecs.hpp"
#include "opencv2\highgui\highgui.hpp"
using namespace cv;
class ReadImage
{
private:
cv::String imagepath;
Mat Image;
public:
ReadImage() :imagepath("C:/") {
ReadImage4rmfile();
}
void ReadImage4rmfile() {
Image = imread(imagepath);
}
void setImagepath(cv::String mpath) {
imagepath = mpath;
}
void ShowImage() {
imshow("ShowImage", Image);
}
};
Controller class:
en#include "ReadImage.hpp"
class ImageController
{
private:
ReadImage* rimage;
public:
ImageController(cv::String mpath) {
rimage = new ReadImage();
rimage->setImagepath(mpath);
}
void ImconShowImage() {
rimage->ShowImage();
}
~ImageController() {
delete rimage;
}
};
forms.h class:
#include "ImageController.hpp"
private: System::Void button2_Click(System::Object^ sender, System::EventArgs^ e) {
System::String^ temp = textBox1->Text;
IntPtr pointer_temp = Marshal::StringToHGlobalAnsi(temp);
const char* input_location = static_cast<const char*>(pointer_temp.ToPointer());
ImageController Imgcon = ImageController(input_location);
Imgcon.ImconShowImage();
}
When i run the app i get the following error "Debug failed _CrtlsValidHeapPointer(block)"
please anyone can help.