我正在开发关于javacv的项目,我需要知道如何识别以下图像并使用特定颜色填充图像?
我尝试通过这个问题,这是我使用的图像

我尝试通过这段代码,并在javacv中开发了一个代码
import com.googlecode.javacpp.Loader;
import com.googlecode.javacv.CanvasFrame;
import static com.googlecode.javacpp.Loader.*;
import static com.googlecode.javacv.cpp.opencv_core.*;
import static com.googlecode.javacv.cpp.opencv_highgui.*;
import static com.googlecode.javacv.cpp.opencv_imgproc.*;
import java.io.File;
import javax.swing.JFileChooser;
public class PolyGonIdentification {
public static void main(String[] args) {
CanvasFrame cnvs=new CanvasFrame("Polygon");
cnvs.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
CvMemStorage storage=CvMemStorage.create();
CvSeq squares = new CvContour();
squares = cvCreateSeq(0, sizeof(CvContour.class), sizeof(CvSeq.class), storage);
JFileChooser f=new JFileChooser();
int result=f.showOpenDialog(f);//show dialog box to choose files
File myfile=null;
String path="";
if(result==0){
myfile=f.getSelectedFile();//selected file taken to myfile
path=myfile.getAbsolutePath();//get the path of the file
}
IplImage …Run Code Online (Sandbox Code Playgroud) 如何识别另一个轮廓内的轮廓?我试图通过许多OpenCV教程,但我无法识别它.请一些专家提供简单的代码来解释一下吗?
这是我的输入文件

这个黑暗的部分是我需要识别的轮廓.

请善意与我分享您的经验.
这段代码行的含义是什么?如何将此代码转换为javacv?
gray = Scalar::all(255);
Run Code Online (Sandbox Code Playgroud)
这是与此代码行相关的整个代码.
Mat src = imread("in.jpg"), gray;
cvtColor(src, gray, CV_BGR2GRAY);
threshold(gray, gray, 230, 255, THRESH_BINARY_INV);
vector<Vec4i> hierarchy;
vector<vector<Point> > contours;
findContours(gray, contours, hierarchy, CV_RETR_LIST, CV_CHAIN_APPROX_SIMPLE);
gray = Scalar::all(255);
Run Code Online (Sandbox Code Playgroud)
有人可以解释一下吗?
请一些人解释如何识别彼此不完全分开的轮廓的方形.例如,我需要识别下面图像中的方块数以及它们边缘的x,y坐标.我试着通过这个问题,但它对我不起作用.
所以请使用简单的代码示例解释一下.
这是我可以生成的图像,请您解释如何识别此图像中的上方.

所以请善意解释这一点.