You are almost there!
Use the following code to extract the ROI.
Mat img_roi = img_1(Rect(roix1 ,roiy1, roix2-roix1, roiy2-roiy1));
The following code creates a vector to keep the list of images which are transformed.
std::vector<mat> imglist;</mat>
Then change the following two lines
detector.detect( img_1, keypoints_ROI );
detector.detect( img_scene, keypoints_Images );
to
detector.detect( img_roi , keypoints_ROI );
detector.detect( img_2, keypoints_Images );
Then change the following lines
extractor.compute( img_object, keypoints_ROI, descriptors_ROI );
extractor.compute( img_2, keypoints_Images, descriptors_Images );
to
extractor.compute( img_roi, keypoints_ROI, descriptors_ROI );
extractor.compute( img_2, keypoints_Images, descriptors_Images );
After find the homography warp the image according to the perspective transformation matrix using the following code.
Mat transformedImage;
warpPerspective(img_2,transformedImage,H,Size(img_2.cols*2,img_2.rows*2));
The size of the transformed image should be some what large otherwise the transformed image may be cropped.
Put the transformed image in the list using the following code.
imglist.put(transformedImage);