Ask Your Question
0

how do i change the fullscreen fill colour?

asked 2016-08-24 05:55:37 -0600

j0h gravatar image

updated 2016-08-24 19:33:11 -0600

I have my program, in full screen, it has gray sidebars, its fine, but how can I change the fill colour from Gray, to black.

image description

code that produced these results, is: If I have to edit the library for the background color, which opencv2 library is it? (I'll start digging around, but im not too hopeful to just stumble upon it.)

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

using namespace cv;
using namespace std;

Mat src; Mat src_gray;
int thresh = 50;
int max_thresh = 255;
RNG rng(12345);  //random number generator

/// Function header
void thresh_callback(int, void* );

/** @function main */
int main( int argc, char** argv ){

    VideoCapture cap;
    // open the default camera, use something different from 0 otherwise;
    if(!cap.open(0))
        return 0;
     // Create mat with alpha channel
    Mat mat(800, 800, CV_8UC4);     


for(;;){    
    Mat frame;
    cap >> frame;
    src = frame;
  /// Convert image to gray and blur it
  cvtColor( src, src_gray, CV_BGR2GRAY );
  blur( src_gray, src_gray, Size(3,3) );


  //createTrackbar( " Canny thresh:", "Source", &thresh, max_thresh, thresh_callback );
  thresh_callback( 0 , 0 );
  waitKey(200);
}
  return(0);
}

/** @function thresh_callback */
void thresh_callback(int, void* ){
  Mat canny_output;
  vector<vector<Point> > contours;
  vector<Vec4i> hierarchy;

  /// Detect edges using canny
  Canny( src_gray, canny_output, thresh, thresh*2, 3 );
  /// Find contours
  findContours( canny_output, contours, hierarchy, CV_RETR_TREE, CV_CHAIN_APPROX_SIMPLE, Point(0, 0) );

  /// Draw contours
  Mat drawing = Mat::zeros( canny_output.size(), CV_8UC3 );
  for(unsigned int i = 0; i< contours.size(); i++ ){
       Scalar color = Scalar( rng.uniform(0, 255), rng.uniform(0,255), rng.uniform(0,255) );
       drawContours( drawing, contours, i, color, 2, 8, hierarchy, 0, Point() );
     }

  /// Show in a window
  //namedWindow("Display frame", WINDOW_NORMAL);
  imshow( "Contours", drawing );

    cvNamedWindow("Name", CV_WINDOW_NORMAL);
    cvSetWindowProperty("Name", CV_WND_PROP_FULLSCREEN, CV_WINDOW_FULLSCREEN);
    imshow("Name", drawing);
}
edit retag flag offensive close merge delete

Comments

Can you provide the code that results in this fullscreen window? Then we might be able to help you out!

StevenPuttemans gravatar imageStevenPuttemans ( 2016-08-24 06:10:57 -0600 )edit

sure, Ill post code.

j0h gravatar imagej0h ( 2016-08-24 19:29:13 -0600 )edit

1 answer

Sort by ยป oldest newest most voted
1

answered 2016-08-24 06:13:31 -0600

berak gravatar image

you probably cannot change the color of those sidebars, that's something from the underlying ui lib.

but you only got those, because you opened that window with WINDOW_AUTOSIZE (which is the default) , so it choose some fixed windowsize for your image.

instead, try :

 namedWindow("ocv", WINDOW_NORMAL);

this should allow you to set the windowsize manually.

edit flag offensive delete link more

Comments

What library? I'd really like to set it to black.

j0h gravatar imagej0h ( 2016-08-24 19:28:30 -0600 )edit

@j0h the Qt library. Changing that will be a challenging task!

StevenPuttemans gravatar imageStevenPuttemans ( 2016-08-25 04:53:16 -0600 )edit

Question Tools

1 follower

Stats

Asked: 2016-08-24 05:55:37 -0600

Seen: 2,973 times

Last updated: Aug 24 '16