Linux之制作镜像文件 2017-09-25

制作ISO镜像的方法

// 把/dev/cdrom目录制作为镜像
dd if=/dev/cdrom of=/root/myiso.iso
mkisofs -r -o myiso.iso /dev/cdrom
cp -r /home/user myiso.iso

Linux之Huawei设备不能正常识别ttyUSB解决办法 2017-09-25

解决 12d1:1446 -> 12d1:1436

主要原因还是因为当前Huawei设备模式不对,一般如果处于存储模式就不会初始化ttyUSB设备等

sudo apt-get install usb-modeswitch
DefaultVendor = 0x12d1
DefaultProduct = 0x1446

TargetVendor = 0x12d1
TargetProductList = “1001,1406,140b,140C,1412,141b,14ac”

OpenCV之三帧差分法运动检测 2017-09-21

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

#define threshold_diff1 25 //设置简单帧差法阈值
#define threshold_diff2 25 //设置简单帧差法阈值

using namespace cv;
using namespace std;

int main(int argc,unsigned char* argv[])
{
    Mat img_src1,img_src2,img_src3;//3帧法需要3帧图片
    Mat img_dst,gray1,gray2,gray3;
    Mat gray_diff1,gray_diff2;//存储2次相减的图片
    Mat gray_diff11,gray_diff12;
    Mat gray_diff21,gray_diff22;
    Mat gray;//用来显示前景的
    bool pause=false;

OpenCV之从video设备录制视频 2017-09-04

OpenCV之从video设备录制视频

#include <opencv2/opencv.hpp>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <QLatin1String>
#include <QQueue>
#include <QDateTime>

using namespace cv;
using namespace std;

int main(int argc, char *argv[])
{

Qt之QMultiMap一键多值 2017-09-02

Qt之QMultiMap一键多值

在QT中常用的键值对QMap,当遇到一键多值需要存储时往往QMap中vector这样存储, 但是QT提供了QMultiMap来解决这个问题

http://doc.qt.io/qt-4.8/qmultimap.html
QMultiMap<QString, int> map1, map2, map3;

map1.insert("plenty", 100);
map1.insert("plenty", 2000);
// map1.size() == 2

Qt之线程与数据传递的使用 2017-08-25

Qt之线程与数据传递的使用

// .h
class Demo : public QObject
{
    Q_OBJECT
public:
    Demo();
    void start();
public slots:
    void run() {
    start();
    }
signals:
    void send(QJsonObject);
};

Ubuntu之Firefox开机自启及全屏 2017-08-22

Ubuntu之Firefox开机自启及全屏

# 安装全屏插件 Firefox FullScreen
https://addons.mozilla.org/zh-CN/firefox/addon/mwfullscreen/?src=search

# 方法一:设置开机自动启动
# vi ~/.config/upstart/firefox.conf
start on desktop-start  
stop on desktop-end  
exec /usr/bin/firefox

# 方法二:设置开机自动启动
mkdir -p ~/.config/autostart
cp /usr/share/applications/firefox.desktop ~/.config/autostart/firefox.desktop
chmod +x ~/.config/autostart/firefox.desktop

Linux之通过udev规则指定设备文件名 2017-08-01

Linux之通过udev规则指定设备文件名


需求:有三个/dev/video0-3设备,但是每次重启设备的文件名称会改变, 想固定这个设备文件名

当前 /dev/video0 是 PCI 采集卡,1-2是USB摄像头 …

// 通过 udevinfo (ubuntu:udevadm) 查看设备信息
// udevadm (udev管理工具)

Nginx反向代理之端口转发 2017-07-23

Nginx反向代理之端口转发

反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器

// 格式检查 /etc/nginx/nginx.conf 
nginx -t -c /etc/nginx/nginx.conf
# /etc/nginx/nginx.conf 

http {
    // 当通过 face.danoolive.com:80 端口访问这个服务器时
    // 该请求会被转发到 127.0.0.1:9992
    server {
        listen 80; 
        server_name face.danoolive.com; 
        // 通过访问的路径来处理转发 ...
        location / { 
            // 也不一定是内网 127.0.0.1 ,也可以是另外一个服务器的某个端口等 ...
            proxy_pass http://127.0.0.1:9992;
        }
    }

Ubuntu之 portmapper is not running 解决方案 2017-07-20

Not starting: portmapper is not running

以前叫portmap现在叫rpcbind, portmap的主要功能是把RPC程序号转化为Internet的端口号

  • Stopping NFS kernel daemon [ OK ]
  • Unexporting directories for NFS kernel daemon… [ OK ]
  • Exporting directories for NFS kernel daemon… [ OK ]
  • Starting NFS kernel daemon
  • Not starting: portmapper is not running
$ sudo apt-get purge rpcbind  
$ sudo apt-get install nfs-kernel-server