小编ipu*_*hed的帖子

如何用词袋训练和预测?

我从各个角度都有一个汽车图像文件夹.我想用一袋文字的方法训练系统识别汽车.一旦完成训练,我希望如果给出该车的图像,它应该能够识别它.

我一直在尝试在opencv中学习BOW功能,以便完成这项工作并达到我现在不知道该做什么的水平,并且一​​些指导将不胜感激.

这是我用来制作文字包的代码:

Ptr<FeatureDetector> features = FeatureDetector::create("SIFT");
    Ptr<DescriptorExtractor> descriptors = DescriptorExtractor::create("SIFT");
    Ptr<DescriptorMatcher> matcher = DescriptorMatcher::create("FlannBased");

    //defining terms for bowkmeans trainer
    TermCriteria tc(MAX_ITER + EPS, 10, 0.001);
    int dictionarySize = 1000;
    int retries = 1;
    int flags = KMEANS_PP_CENTERS;
    BOWKMeansTrainer bowTrainer(dictionarySize, tc, retries, flags);

    BOWImgDescriptorExtractor bowDE(descriptors, matcher);

    //training data now
    Mat features;
    Mat img = imread("c:\\1.jpg", 0);
    Mat img2 = imread("c:\\2.jpg", 0);
    vector<KeyPoint> keypoints, keypoints2;
    features->detect(img, keypoints);
    features->detect(img2,keypoints2);
    descriptor->compute(img, keypoints, features);
    Mat features2;
    descripto->compute(img2, keypoints2, features2);
    bowTrainer.add(features);
    bowTrainer.add(features2);

    Mat dictionary = …
Run Code Online (Sandbox Code Playgroud)

opencv machine-learning sift feature-detection

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

即使条件成立,我的代码也不会进入下一个状态

我必须在 7 段 LED 上显示一条消息和一个计时器。因此,我通过使用多路复用器来管理此问题,并在一种状态下显示消息“Hi”,然后一段时间后,当计数器达到 7500 时,它应该停止显示“Hi”并开始显示计时器。

问题是它只显示“Hi”并且不会从那里向前移动。

localparam [1:0]
                    idle = 2'b00,
                    starting = 2'b01,
                    time_it = 2'b10,
                    done = 2'b11;

reg state_reg, state_next;
reg [12:0] count_reg, count_next; //**change for simulation

always @ (posedge clock or posedge reset)
begin
    if(reset)
        begin 
            state_reg <= idle;
            count_reg <= 0;
        end
    else
        begin
            state_reg <= state_next;
            count_reg <= count_next;
        end
end
always @ (*)
begin
state_next = state_reg; //default state stays the same
count_next = count_reg;

case(state_reg)
    idle:
        begin
            //DISPLAY HI HERE …
Run Code Online (Sandbox Code Playgroud)

hardware verilog fpga hdl system-verilog

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

为什么这个伪随机数发生器(LFSR)的输出是如此可预测的?

最近我在这里问过,如何在硬件中生成随机数,并被告知要使用LFSR.它将是随机的,但会在某个值后开始重复.

问题是生成的随机数是如此可预测,以至于可以很容易地猜到下一个值.例如,检查下面的模拟:

在此输入图像描述

可以通过将前一个数字与其自身+1相加来猜测下一个"随机"数字.有人可以验证这是否正常和预期.

这是我用于LFSR的代码:

    module LFSR(
    input clock,
    input reset,
     output [12:0] rnd 
    );

wire feedback = rnd[12] ^ rnd[3] ^ rnd[2] ^ rnd[0]; 

reg [12:0] random;

always @ (posedge clock or posedge reset)
begin
    if (reset)
        random <= 13'hF; //An LFSR cannot have an all 0 state, thus reset to FF
    else
        random <= {random[11:0], feedback}; //shift left the xor'd every posedge clock
end

assign rnd = random;

endmodule
Run Code Online (Sandbox Code Playgroud)

从这里获取位到XOR的位:表页5

hardware verilog fpga hdl

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