小编swt*_*rgn的帖子

OpenCV:VideoCapture :: get(CV_CAP_PROP_FPS)返回0 FPS

我试图从我的相机获取fps,以便我可以将其传递给VideoWriter输出视频.但是,我通过VideoCapture::get(CV_CAP_PROP_FPS)相机调用获得0 fps .如果我硬编码,我的视频可能太慢或太快.

#include "opencv2/opencv.hpp"
#include <stdio.h>
#include <stdlib.h>

using namespace std;
using namespace cv;

int main(int argc, char *argv[])
{
    cv::VideoCapture cap;
    int key = 0;

    if(argc > 1){
        cap.open(string(argv[1]));
    }
    else
    {
        cap.open(CV_CAP_ANY);
    }
    if(!cap.isOpened())
    {
        printf("Error: could not load a camera or video.\n");
    }

    Mat frame;
    cap >> frame;
    waitKey(5);

    namedWindow("video", 1);
    double fps = cap.get(CV_CAP_PROP_FPS);
    CvSize size = cvSize((int)cap.get(CV_CAP_PROP_FRAME_WIDTH),(int)cap.get(CV_CAP_PROP_FRAME_HEIGHT));

    int codec = CV_FOURCC('M', 'J', 'P', 'G');
    if(!codec){ waitKey(0); return 0; }
    std::cout …
Run Code Online (Sandbox Code Playgroud)

c++ windows camera opencv avi

11
推荐指数
1
解决办法
3万
查看次数

setWindowFlags(Qt :: WindowStaysOnTopHint)隐藏了Qt Window

我想让我的Qt Window保持领先.当setWindowFlags(Qt::WindowStaysOnTopHint)被执行时,该窗口将成为(在Windows 7)隐藏.

我也尝试过:

Qt::WindowFlags flags = windowFlags();
setWindowFlags(flags | Qt::WindowStaysOnTopHint);
Run Code Online (Sandbox Code Playgroud)

而且,它仍然是一样的.我在这做错了什么?

c++ windows qt windows-7 qt5

10
推荐指数
1
解决办法
2万
查看次数

将击键发送到 X Window

我目前正在尝试使用 xdotool 将密钥发送到进程(我知道它可能不适用于所有未设置 _NET_WM_PID 的进程)。我无法将击键发送到焦点之外的其他窗口。如果您将击键发送到CURRENTWINDOW. 下面是我用来测试 xdotool 功能的片段。

extern "C"{
  #include <xdo.h>
}
//extern "C" xdo_window_search
#include <iostream>
#include <string.h>

using namespace std;

int main(){
    xdo_t* p_xdo = xdo_new(NULL);

    // Allocate memory for search query.
    xdo_search_t s;
    // Clear the allocated memory.
    memset(&s, 0, sizeof(xdo_search_t));
    // Set the search query.
    s.pid = 1916;
    s.max_depth = -1;
    s.searchmask = SEARCH_PID;
    s.require = xdo_search::SEARCH_ANY;
    // Allocate memory for output
    Window* windows;
    int no_windows;
    xdo_window_search(p_xdo,&s,&windows,&no_windows);
    cout << no_windows << endl;
    // …
Run Code Online (Sandbox Code Playgroud)

c++ x11 ubuntu xdotool

5
推荐指数
1
解决办法
5905
查看次数

链接静态库后的未定义引用

我写了一个简单的程序来测试xdotool是否能满足我的要求.(嗯,不是真的.我的第一步是确保我是否可以调用xdotool库.)

#include <xdo.h>
#include <iostream>

using namespace std;

int main(){
    cout << xdo_version() << endl;
    xdo_new(NULL);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当我编译它时g++ -o a main.cpp libxdo.a -lXtst -lX11 -lXinerama -I ../test/xdotool-2.20110530.1,我收到以下错误消息:

/tmp/ccW95RQx.o: In function `main':
main.cpp:(.text+0x5): undefined reference to `xdo_version()'
main.cpp:(.text+0x29): undefined reference to `xdo_new(char*)'
collect2: error: ld returned 1 exit status
make: *** [sendkey] Error 1
Run Code Online (Sandbox Code Playgroud)

我没有使用apt-get install的开发包,因为它安装了一个动态库.所以,我做了一个apt-get源并自己构建了库.我通过执行以下命令验证了xdo_version和xdo_new是静态库中定义的函数:

$ nm libxdo.a | grep xdo_version
00000000000002b0 T xdo_version
$ nm libxdo.a | grep xdo_new
0000000000004070 T xdo_new
0000000000003c90 T xdo_new_with_opened_display …
Run Code Online (Sandbox Code Playgroud)

linux linker g++ static-libraries xdotool

4
推荐指数
1
解决办法
6210
查看次数

Qt/CMake:在标识符'slots'之前缺少':'

我试图使用我自己的cmake文件而不是随附的qmake .pro文件从Qt编译录音机示例,我收到以下错误:

qtaudiorecorder\audiorecorder.h(63) : error C2146: syntax error : missing ':' before identifier 'slots'

我的CMake文件:

find_package(Qt5 REQUIRED COMPONENTS multimedia widgets)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Multimedia REQUIRED)
add_definitions(-DQT_NO_KEYWORDS)

add_executable(audio_recorder audiorecorder.cpp main.cpp qaudiolevel.cpp qaudiolevel.h audiorecorder.h audiorecorder.ui audiorecorder_small.ui)
qt5_use_modules(audio_recorder Widgets Multimedia)
Run Code Online (Sandbox Code Playgroud)

audiorecorder.h:

#ifndef AUDIORECORDER_H
#define AUDIORECORDER_H

#include <QMainWindow>
#include <QMediaRecorder>
#include <QUrl>

QT_BEGIN_NAMESPACE
namespace Ui { class AudioRecorder; }
class QAudioRecorder;
class QAudioProbe;
class QAudioBuffer;
QT_END_NAMESPACE

class AudioRecorder : public QMainWindow
{
    Q_OBJECT

public:
    AudioRecorder(QWidget *parent = 0);
    ~AudioRecorder();

public slots: …
Run Code Online (Sandbox Code Playgroud)

c++ windows qt qmake cmake

3
推荐指数
1
解决办法
2256
查看次数

Golang构建约束随机

我在头文件中有两个具有不同构建约束的go文件.

constants_production.go:

// +build production,!staging

package main

const (
  URL               = "production"
)
Run Code Online (Sandbox Code Playgroud)

constants_staging.go:

// +build staging,!production

package main

const (
  URL               = "staging"
)
Run Code Online (Sandbox Code Playgroud)

main.go:

package main

func main() {
  fmt.Println(URL)
}
Run Code Online (Sandbox Code Playgroud)

当我做的时候go install -tags "staging",有时会打印production; 有时,它打印staging.同样,当我这样做的时候go install -tags "production"......

如何在每次构建时获得一致的输出?当我将staging指定为构建标志时,如何使其进行打印分段?当我将生产指定为构建标志时,如何使其打印生产?我在这里做错了吗?

compilation build go

3
推荐指数
1
解决办法
519
查看次数

WINDOWPLACMENT 的 showCmd...始终为 1?

当我执行 get 操作时GetWindowPlacementWINDOWPLACEMENT::showCmd似乎总是 1,即SW_SHOWNORMAL

有谁知道为什么会这样以及是否已更新?有谁知道这个变量是由应用程序本身维护还是由操作系统维护?

我在 Windows 7 上运行这个。


我使用它来实现与此线程中提到的相同目的:我试图撤消以前显示的隐藏窗口,而不将隐藏窗口存储在内存中(隐藏/显示将在不同的运行会话中调用)或磁盘上。

void hide(const unsigned int pid){
  std::list<HWND> windowList = getWindowbyPID(pid);
  for(std::list<HWND>::iterator it = windowList.begin(); it != windowList.end(); it++){
    if(IsWindowVisible(*it)){ std::cout << "Hid WIN#" << *it << std::endl; ShowWindow(*it,SW_HIDE); }
  }
}

void show(const unsigned int pid){
  std::list<HWND> windowList = getWindowbyPID(pid);
  for(std::list<HWND>::iterator it = windowList.begin(); it != windowList.end(); it++){
    //if(IsWindowVisible(*it)){ ShowWindow(*it,SW_SHOW); }
    WINDOWPLACEMENT wp;
    wp.length = sizeof(wp);
    wp.showCmd = 0; // Just to clear showCmd …
Run Code Online (Sandbox Code Playgroud)

c++ winapi

1
推荐指数
1
解决办法
2567
查看次数

标签 统计

c++ ×5

windows ×3

qt ×2

xdotool ×2

avi ×1

build ×1

camera ×1

cmake ×1

compilation ×1

g++ ×1

go ×1

linker ×1

linux ×1

opencv ×1

qmake ×1

qt5 ×1

static-libraries ×1

ubuntu ×1

winapi ×1

windows-7 ×1

x11 ×1