我试图制作创建的窗口(我使用opencv内置的qt库,但我对新方法开放)并排排列并且在用户屏幕上的某个位置,而不是堆叠在彼此之上。因此,需要手动移动(浪费大量时间......)。
以下是点击分割频道后当前节目的样子。
http://i.imgur.com/EDe9oVo.png
这就是我想要的样子(我把窗户移到了他们的位置)。
http://i.imgur.com/B84FsUv.png
以下是创建窗口的代码。
void opencv_Window::Splitchannels(){
if (!InputImage.empty()){
Mat a;
vector<Mat> chans;
a = matArray[csIndex].clone();
if (!a.empty()){
splitchan = true;
split(a, chans);
namedWindow(ch1, 0);
namedWindow(ch2, 0);
namedWindow(ch3, 0);
imshow(ch1, chans[0]);
imshow(ch2, chans[1]);
imshow(ch3, chans[2]);
resizeWindow(ch1, window_width, window_height);
resizeWindow(ch2, window_width, window_height);
resizeWindow(ch3, window_width, window_height);
if (chans.size() > 3){
imshow(ch4, chans[3]);
resizeWindow(ch4, window_width, window_height);
}
}
}
}