自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(30)
  • 收藏
  • 关注

原创 Vivado 除法器IP核 小数模式(Fractional)下结果的修正

在使用Vivado的除法器IP核时,Remainder Type可以选择为余数模式(Remainder),或者小数模式(Fractional)。输出的结果即为整数+余数(或者小数):而当输入信号是有符号数据时,小数模式下的数据是无法直接使用的,因为小数部分也会自带一个符号(可视作一个无整数位的定点数),所以需要进一步修正。在使用过程中,对可能出现的三种情况 进行说明1.若结果无整数部分,则直接对小数部分根据要求进行操作即可。2.若结果存在整数部分,则对数据的正负进行判断:若为正数,则舍去小数

2022-01-06 10:25:12 6065 1

原创 Verilog中整数取反的溢出问题

在写Verilog代码中,常常会将一个整数取反(将定点化后的数也视为整数,因为操作一致),通常的做法是:step1:位取反;step2:+1。 但在写代码的过程中发现了,这样会存在溢出的问题。比如对一个4bit的数-8(二进制1000)取反+1后依旧是-8(1000),这样便是取反溢出了。究其原因,我觉得是因为0000和1000都是表示0的,但在补码中让1000表示了-8导致的,所以需要人为多进行一步判断,将-8变为+7(因为最大只能表示到+7)。以下是我写的一个简单的...

2021-11-30 18:43:40 1218 1

原创 Verilog读写文件以及验证数据准确性

在完成FPGA代码后往往需要先进行功能仿真,而最直观观察对错的方案便是将FPGA生成的数据与MATLAB生成的数据进行对比,若定点合理且代码正确,误差往往会在预期范围内,譬如,数据定点为(1,16,10),那么转换后的小数后三位应该是与MATLAB一致的(1/(2^10)=0.0009)。关于定点化后续会谈,下文会写一些FPGA读取,写入数据的方式。FPGA生成数据的写入与读取此处的写入或者读取往往是在tb文件中的,主程序中不推荐使用。读取:其中readmemb表示读取的是二进制...

2021-11-02 22:19:13 979

原创 关于FPGA和通信链路的工程总结(序)

读研中所做的项目是基于FPGA的通信链路,从项目开始记起,学习FPGA和通信相关知识已经一年了,所以乘此机会,把所学所感记录一下。 之前买过一本《通信IC设计》,因为能力有限看得很痛苦,最后放弃了。也借此机会重新翻看,结合书本、实践经验,写下工作笔记,方便之后自己查阅。 因为水平确实有限,如果有任何疑问,可以联系我。...

2021-11-01 18:18:20 173

原创 MATLAB中fi函数的WordLength和FractionLength

在使用MATLAB coder做定点化的时候,发现有时候的索引会变成0,比如如下的代码中的kfm = get_fimath();idx = fi(1,0,1,0,fm);a = (idx+fi(2,0,2,0,fm))*fi(1/3,0,16,17,fm);k = fi(a,0,17,0,fm)function fm = get_fimath() fm = fimath('RoundingMethod', 'floor',... 'OverflowAction', 'Wrap

2021-07-01 10:38:37 2125

原创 FPGA进行仿真时出现“XX”不定态时一种可能的解决方案

最近在利用Vivado写PI/4DPSK调制模块的时候,发现算法中的同相正交支路的仿真值出现了“XX”不定状态,在查询了很多资料后提供一种可能的解决方案。问题情况如下:解决方案如下:把“<=”变为“==”总结:在需要迭代赋值时,或者说设计逻辑电路时应使用阻塞赋值;设计时序电路时,一般使用非阻塞赋值。...

2020-11-24 19:19:19 6553 2

原创 在Quartus中调用Modelesim时仿真出现“Error:Failed to find design unit work“可能的解决方法

在学习FPGA的过程中,我发现利用Modelsim仿真无法自动显示波形,出现了如下图报错:经过分析发现是文件名出现的问题,故对症下药如下图:需要注意的是画红圈部分的内容是需要保持一致的。...

2020-10-14 14:23:36 4570

原创 PyQt Qlabel显示不了图片的可能的解决方法

最近再用PyQt写界面时,发现Qlabel上只能显示部分图片。槽函数: def showPic(self): img_name, img_type = QFileDialog.getOpenFileName(self, "打开图片", "", "*.jpg;;*.png;;All Files(*)") jpg = QtGui.QPixmap(img_...

2020-04-18 14:17:55 3431

原创 OpenCV文字识别(三) :文字定位与切割(python)

在倾斜校正的预处理完成后便可以开始对处理后的文本文档进行定位与切割了。总体思路:先切割行,再切割列,得到一张张字体图片并标号储存方便后续的识别。其中切割的方法采用了投影法,即在二值化后判断每一行的黑白色素。Python测试代码:import YuChuLiimport cv2import numpy as npV_PROJECT = 1H_PROJECT = 2de...

2020-04-14 16:38:04 6089 5

原创 OpenCV文字识别(二):使用Python(直线检测法)对图像进行倾斜校正

OpenCV 文字识别(一):图像预处理 上一篇的博客中我使用了C++对印刷体汉字进行了预处理,但因为文字识别模型是基于TensorFlow的,C++调用python代码繁杂且容易出错,所以试着用Python代码写整个项目。总体思路不变:获取直线-->间接获取角度-->旋转测试代码:#! /usr/bin/env python# -*- coding: ...

2020-04-13 22:34:49 4275 5

原创 ImportError: DLL load failed: 找不到指定的模块的解决以及接下来可能遇到的问题

之前按网上的教程安装了Tensorflow后,在导入时出现了以下的报错ImportError: DLL load failed: 找不到指定的模块(网上找的图,一定要仔细看报错信息)若发生图中错误,则需要手动降低版本,如pip install --default-timeout=500 -i https://pypi.tuna.tsinghua.edu.cn/simple te...

2020-02-15 11:27:28 553

原创 OpenCV 文字识别(一):图像预处理

考研初试结束,毕设选择了印刷体汉字识别,准备先实现其基本功能。 在网上查阅资料后发现图像处理第一个步骤一般为图像预处理,即滤除图像噪声,并进行如灰度化、二值化、倾斜校正、图像平滑等基本操作。因为主要目的是学习,所以我写的较为繁琐,将各个步骤拆分了多个函数。以下为代码:(头文件省略了)YuCHuLi.cpp#include "YuChuLi.h"using na...

2020-01-01 15:48:03 7470 2

原创 OpenCV(6):基于本地库的图像识别软件(批量读取图片)

为了识别宠物的种类以及其他的扩展功能,我参考网上的识图软件原理,写了一个简化版的demo:从本地的库中匹配与所选图片最像的图片。(1.具体的其他代码可以参考其他博客的文件;2.所有文件路径改成自己的即可)ShiBie.h:#pragma once#ifdef WIN32 #pragma execution_character_set("utf-8") #endif...

2019-05-14 21:18:32 1267

原创 OpenCV(5):写一个实时监控的界面,关于Mat赋值的思考。

在有了前面打开摄像头成像和简单的图像比较程序后,实现实时监控的程序就不是很难了。即加入新的定时器,在规定时间取一帧图像后与前一帧比较,得出差值。 但是问题出现在了Mat型的赋值上,Mat a=b; 相当于b和a指向了同一地址,所以无论怎么比相似率均为百分之100。 在调整后使用 b=a.clone(); 后程序执行成功,此时b赋值了a原先的矩阵。代...

2019-05-05 21:24:42 371

原创 OpenCV(4):利用VideoCapture类和笔记本自带摄像头制作一个可以拍照并保存的界面。

在尝试了cvCreateCapture类失败后(只能打开摄像头,但屏幕显示为灰色),我找到了可以使用的VideoCapture类。注:具体头文件和ui设计可以根据自己喜好。.h文件#pragma once#include <qimage.h>#include <qtimer.h>#include <qwidget.h>#include...

2019-04-26 20:58:29 1162

原创 OpenCV(3):用Vs+Qt制作一个查看图片相似度的窗口程序

OpenCV(2):用Vs+Qt制作一个显示两张图片的窗口程序在制作了窗口程序后,在网上找了比较两张图片差异度的算法。哈希值方法:https://blog.csdn.net/fengbingchun/article/details/42153261(不过我觉得他在转化为64级灰度时多除了4)基于此算法做了修改,形成一个以两个Mat为参数,返回值为整形的函数。proces...

2019-04-18 21:54:39 2431 2

原创 关于Vs+Qt出现ui界面添加的控件无法正常读取和显示可能的解决方法

这几天一直被一个问题困扰,就是在Ui界面添加的控件无法正常显示,最后发现是因为我改了ui文件名而头文件中未修改新的ui头文件导致的。解决方法:第一步:因为Vs有很强大的补全和查找功能,可以利用起来查找ui头文件的存放地点。第二步:找到相应的文件夹,删除不必要的。第三步: 在相应的程序头文件中修改(根据自己情况修改即可)#include "ui_TuXiang.h"...

2019-04-18 21:44:59 6934

原创 OpenCV(2):用Vs+Qt制作一个显示两张图片的窗口程序

因为之前接触过Qt,所以为更方便观察,决定用Qt+Vs+OpenCV做一个比较图像差异性的小程序。在Vs写Qt的程序很方便,只要在属性表中加入之前写好的数学prop文件即可。在查询了一些资料后写出一个简单的窗口程序。这是我主要参考的链接,但他的槽函数有一些问题,会选择2次图片:https://blog.csdn.net/guanzhen3657/article/details/8181...

2019-04-15 19:06:49 1578 1

原创 OpenCV(1):读取图像并进行灰度化。

最近参加了同学的项目,分配的任务是实时监测两张图片的差异。开始第一天的学习——读取图像并对他进行灰度化处理。 1.我查询了网上的资料发现读取图像有两种常用的方法,虽然目前还不精通期中原理,但先拿来使用吧。 一种是Mat,一种是IplImage,有兴趣的可以看看以下链接 https://blog.csdn.net/piaoxuezhong/article/det...

2019-03-30 19:17:38 2122

原创 十六进制转十进制

问题:从键盘输入一个不超过8位的正的十六进制数字符串,将它转换为正的十进制数后输出。注:十六进制数中的10~15分别用大写的英文字母A、B、C、D、E、F表示。我的思路就是直接把16进制的数拆分为二进制的数,然后转换为十进制的数。#include &lt;iostream&gt;#include &lt;string.h&gt;using namespace std;int i...

2019-03-12 20:41:45 466

原创 蓝桥训练 区间k大数查询

问题:给定一个序列,每次询问序列中第l个数到第r个数中第K大的数是哪个。链接:http://lx.lanqiao.cn/problem.page?gpid=T11我使用了最简单的循环求解:#include &lt;iostream&gt;using namespace std;int main(){ int n; cin&gt;&gt;n; //n为序列的长度 ...

2019-03-04 11:48:32 100

原创 LeetCode :C语言 13罗马数字转整数

题目链接:https://leetcode-cn.com/problems/roman-to-integer/description/这道题写的时候思路也比较清晰,唯一有点困惑的是判断字符串的长度。(用了while循环来判断。)int charToInt(char ch){ switch(ch) { case 'I':return 1; ...

2018-10-21 14:02:02 701

原创 LeetCode :C语言 9.回文数

题目链接:https://leetcode-cn.com/problems/palindrome-number/description/回文数简而言之就是对称的数(负数按题目要求不是),因为上一个题目是反转整数很自然的就想到了直接反转之后判断。bool isPalindrome(int x){ int out = 0,in = x; int temp; if(x...

2018-10-21 09:21:59 182

原创 LeetCode :C语言 7.反转整数

题目:给定一个 32 位有符号整数,将整数中的数字进行反转。例如:321--&gt;123 -321--&gt;-123假设我们的环境只能存储 32 位有符号整数,其数值范围是 [−231, 231− 1]。根据这个假设,如果反转后的整数溢出,则返回 0。最初我没有头绪,所以我在网上寻找了其他人的答案。https://blog.csdn.net/m...

2018-10-14 13:36:08 1052

原创 LeetCode:C语言 1.TwoSum

虽然本科电子信息工程不教算法一类的课程,但为了将来日常工作,决定开始自学一些算法和数据结构知识。就从LeetCode开始吧!给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。例如:给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 +...

2018-10-14 13:19:53 316

原创 Qt学习(五):制作一个管理员注册界面

因为目前做的项目涉及到管理员登陆,所以给程序添加一项管理员注册的功能现在.h头文件中加入成员和相应的库: MyDialog *_sign; //我此处的MyDialog是继承了QDialog类 QGridLayout *_signglayout; QPushButton *_YesSignbutton; QPushButton ...

2018-07-18 22:35:49 4600

原创 Qt学习(四):数据库的连接

因为调查问卷需要用数据库保存数据,所以我学习了Qt有关数据库的操作。首先需要在pro文件中加入:QT += sql然后在头文件.h文件中加入:#include &lt;QtSql/QSqlDatabase&gt;#include &lt;QDebug&gt;#include &lt;QSqlQuery&gt;以及:QSqlDatabase db;QSqlQuer...

2018-07-17 15:08:26 328

原创 Qt学习 (三) : 一个简陋的调查问卷

学习一点TCP网络协议的知识,利用Qt做一次调查问卷,客户端与服务器端如下:服务器:客户端: 客户端:首先在创建的tcpclient工程下的tcpclient.pro中加入QT += network然后编写tcpclient.h#ifndef TCPCLIENT_H#define TCPCLIENT_H#include &lt;QD...

2018-06-07 12:08:08 1366 2

原创 Qt学习(二):一个简陋的记事本

这是我学习Qt这个软件的第二周,初步制作了一个具有简单新建、保存、打开功能的记事本。总窗口设计图:首先在maindow.h加入需要的头文件并且定义他们#include &lt;QMenu&gt;#include &lt;QMenuBar&gt;#include &lt;QAction&gt;#include &lt;QDebug&gt;#include...

2018-05-21 17:10:59 378

原创 Qt学习(一):做一个简单的窗口

这是我第一次接触Qt这个软件,之前也并没有C++相关的知识储备,借写博客的方式不断巩固复习,一边编写代码一边掌握相关的知识。这是整个程序的效果图:这个窗口里有一个超链接,2个不同大小的文本框,2个按钮,一个复选框,以及一个滑动轮。下面是代码部分(因为比较简单直接一起上了):首先是定义: QLabel *_label1; QLine...

2018-05-14 18:39:09 1391

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除