高级软件工程第五次作业:“希希敬敬对”团队作业-2

我们团队的作业是:百度贴吧小爬虫 队员学号:     龙江腾(队长) 201810775001     杨希 201810812008     何敬上     201810812004 1.需求分析 用户调研   我们针对的用户人群是百度贴吧使用者,所以我们特意在各大贴吧中对我组作业进行网上需求调查,   回复数量众多。以下是调查问卷链接地址:     http://tieba.baidu.com/p/5946030918 完成《需求规格说明书》并上传到团队coding;     https:
分类: 其他 发布时间: 11-10 22:44 阅读次数: 0

Linux命令列内容

    命令列内容: 一般模式 移动光标 【ctrl】+【f】 屏幕【向前】移动一页 【ctrl】+【b】 屏幕【向后】移动一页 0 这是数字0:移动到这一行的最前面字符处 $ 移动到这一行的最后面字符处 G 移动到这个档案的最后一行 n<Enter> 光标向下移动n行 一般模式 搜寻与取代 /word 向光标之后寻找一个字符串名称为word的字符串 :n1,n2s/word1/word2/g 在第n1与n2行之间寻找word1这个字符串,并将该字符串取代为word2 n1,$s/word1/
分类: 其他 发布时间: 11-10 22:44 阅读次数: 0

XV6调度

调度 任何操作系统都可能碰到进程数多于处理器数的情况,这样就需要考虑如何分享处理器资源。理想的做法是让分享机制对进程透明。通常我们对进程造成一个自己独占处理器的假象,然后让操作系统的多路复用机制(multiplex)将单独的一个物理处理器模拟为多个虚拟处理器。本章将讲述 xv6 是如何为多个进程模拟出多处理器的。 多路复用 xv6 中多路复用的实现如下:当一个进程等待磁盘请求时,xv6 使之进入睡眠状态,然后调度执行另一个进程。另外,当一个进程耗尽了它在处理器上运行的时间片(100毫秒)后,x
分类: 其他 发布时间: 11-10 22:44 阅读次数: 0

父进程退出之后,子进程会发生什么?

在linux中,所有进程都有一个共同的父进程systemd,如果父进程退出了,子进程还没运行结束,子进程会被stsremd收养 下面用一个小程序来验证一下: #include <cstdio> #include <sys/types.h> #include <unistd.h> #include <errno.h> #include <string.h> int func(int x); int main() { pid_t pid; pid=fork(); switch(
分类: 其他 发布时间: 11-10 22:44 阅读次数: 0

Shell统计词频

写一个 bash 脚本以统计一个文本文件 words.txt 中每个单词出现的频率。 为了简单起见,你可以假设: words.txt只包括小写字母和 ' ' 。 每个单词只由小写字母组成。 单词间由一个或多个空格字符分隔。 示例: 假设 words.txt 内容如下: the day is sunny the the the sunny is is 你的脚本应当输出(以词频降序排列): the 4 is 3 sunny 2 day 1 说明: 不要担心词频相同的单词的排序问题,每个单词
分类: 其他 发布时间: 11-10 22:44 阅读次数: 0

kqueue的用法

The NetBSD Project ”Of course it runs NetBSD” 本文翻译自:http://wiki.netbsd.org/tutorials/kqueue_tutorial/ NetBSD Wiki/tutorials/kqueue tutorial 目录 I、简介 II、kqueue API kevent 数据结构 pair flags EV_SET()宏 2.kqueue() 3.kevent() a.timeout 4.总结 III.例子 1.一个定时器例子
分类: 其他 发布时间: 11-10 22:43 阅读次数: 0

kqueue示例

kqueu的两个例子: 1、完全以IO复用的方式读入标准输入流数据,输出到标准输出流中 #include <stdio.h> #include <stdlib.h> #include <unistd.h> #include <fcntl.h> #include <sys/event.h> #include <errno.h> #include <string.h> const static int FD_NUM=2; //两个文件描述符,分别为标准输入与输出 const static in
分类: 其他 发布时间: 11-10 22:43 阅读次数: 0

select\poll\epoll\kqueue\IOCP的区别及用法

先来看看linux manual对三者的介绍 1、select select() and pselect() allow a program to monitor multiple file descriptors, waiting until one or more of the file descriptors become "ready" for some class of I/O operation (e.g., input possible). A file descriptor i
分类: 其他 发布时间: 11-10 22:43 阅读次数: 0

arm下堆和栈的增长方向

通过gdb调试下面的程序,观察运行于ARM的Linux系统中,heap和stack的区别 #include <cstdio> #include <cstring> struct MyStr { unsigned char ch[128]; MyStr() { memset(ch,0x01,128); } }; int main() { MyStr *pstr1=new MyStr(); MyStr st1; MyStr *pstr2=new MyStr(); MySt
分类: 其他 发布时间: 11-10 22:43 阅读次数: 0

PyQt5-Calculator

基于PyQt5的计算器界面实现,功能实现和界面实现的组合。计算器可以实现基本的加减乘除运算,通过操作界面中的对应数字进行计算。在界面程序中通过QPushButton和QGridLayout来实现界面的按键,通过QLineEdit来实现数字的输入,通过addWeight加载到QGridLayout上面显示出来。通过定义不同的按键功能实现不同的数据操作调用,定义了def Calculator(self):函数来实现计算器的主要功能实现,其他详细请阅读以下程序。 计算器界面整个程序运行代码: #!/
分类: 其他 发布时间: 11-10 22:42 阅读次数: 0

字符串数组切割大全

通过对数组的操作快速切割字符串或者数组     以下面两个字符串数组为例:     str=[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]     str='sdsndsfajsfafnnfadfbgfhdgsgsd'     程序源码如下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """通过数组操作切分字符0-9或者数组""" #str=[0,1,2,3,4,5,6,7,8,9,10,
分类: 其他 发布时间: 11-10 22:41 阅读次数: 0

输出n个整数里最小的k个数

def qsort(L):#排序 if len(L) <= 1:return L return qsort([lt for lt in L[1:] if lt < L[0]]) + L[0:1]+\ qsort([ge for ge in L[1:] if ge >= L[0]]) nin=input("n:") splitn=nin.split(" ") a=len(splitn) List=[] for i in range(a): List.
分类: 其他 发布时间: 11-10 22:41 阅读次数: 0

图像处理OpenCV算法01

OpenCV算法 1、图像的基本操作读取、显示、存储:通过调用OpenCV中的cv2.imread(),cv2.imshow(),cv2.write()分别实现。 2、图像由数组构成,黑白图像就是一个单通道的二维矩阵,如同一个的棋盘(矩阵),棋盘中每个点的数字大小代表着图像像素灰度的高低,通过像素的差异形成素描般的黑白图像;而彩色图像则是由三个通道组合而成的一个三维矩阵。彩色图像可以通过b,g,r=cv2.split(image)实现分离,或者通过数组切分实现通道分离b,g,r=image[:
分类: 其他 发布时间: 11-10 22:40 阅读次数: 0

图像处理OpenCV算法02

5、图像滤波(平滑) 图像滤波(平滑),即在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像预处理中不可缺少的操作,其处理效果的好坏将直接影响到后续图像处理和分析的有效性和可靠性。 常用的图像滤波算法高斯滤波、均值滤波、中值滤波、双边滤波等。 卷积的定义:假设被卷积的图像为I,卷积核为K。 I与K的二维离散卷积计算步骤如下: 首先将K翻转成,然后用K沿着I的每一个位置相乘求和,得到full卷积,,从filter和image刚相交开始做卷积。 valid卷积: 当filter全部在i
分类: 其他 发布时间: 11-10 22:40 阅读次数: 0

图像处理OpenCV算法03

6、阈值分割 阈值分割主要是根据灰度值信息提取前景,所以对前景物体有较强对比度的图像的分割特别有用。在OpenCV中通过调用cv2.threshold()实现阈值分割。 全阈值分割:将灰度值大于thresh的像素设为白色,小于或等于thresh的像素设为黑色;反之也行,只不过表现形式不同。 局部阈值分割:针对输入矩阵的每一个位置的值都有相对应的阈值,这些阈值构成了和输入矩阵同等尺寸的矩阵thresh。 熵阈值计算:通过计算所有分割阈值下的图像总熵,找到最大的熵,将最大熵对应的分割阈值作为最终的
分类: 其他 发布时间: 11-10 22:40 阅读次数: 0

图像处理OpenCV算法04

8、边缘检测 大多数边缘检测算子是基于方向差分卷积核求卷积的方法,通常有四种方式来衡量最后输出的边缘强度。(1)取对应位置绝对值的和: ,(2)取对应位置平方和的开方:,(3)取对应位置绝对值的最大值:,(4)插值法: 。 Roberts算子卷积核: Prewitt算子卷积核: Sobel算子卷积核: Sobel算子是在一个坐标轴方向上进行非归一化的高斯平滑,在另一个坐标轴方向上进行差分处理。n*n的Sobel算子是由高斯平滑算子和差分算子Full卷积而得到的。 Scharr算子卷积核有水平方
分类: 其他 发布时间: 11-10 22:40 阅读次数: 0

如何将编写好的python程序生成可执行的exe或者APP

如何将编写好的python程序生成可执行的.exe或者APP? 首先确认安装好pyinstaller和py2app,安装方法:pipinstall pyinstaller;pip install py2app cmd进入Windows窗口的命令行,cd进入project所在的根目录,然后开始生成应用程序。 Windows程序生成: pyinstaller-F -w testdata.py() 在pyinstaller 与.py文件名中可以输入一下指令指定输出配置功能如下: -F 指定打包后只生
分类: 其他 发布时间: 11-10 22:39 阅读次数: 0

visual studio库的一次性配置

visualstudio库的一次性配置 首先下载需要安装的第三方库,解压保存到当地文件夹。将安装库的build文件所在的文件地址目录, 添加到path环境变量系统变量中新建(OPENCV3_DIR, D:\OpenCV\opencv\build);将bin目录所在的文件地址目录添加到环境变量中,(D:\OpenCV\opencv\build\bin)。 文件新建项目Visual项目,然后操作如下。 最后一图可以不要。
分类: 其他 发布时间: 11-10 22:39 阅读次数: 0

python基础之lamdba

"""匿名函数lambda""" r=lambda x,y:x*y#实现x*y, print(r(2,3)) from functools import reduce#调用reduce实现归并性任务 print(reduce(lambda x,y:x+y,range(1,101)))#实现1到100相加结果5050 """map函数处理多个序列数据""" t=map(lambda x:x**2,range(1,10))#平方数组中的元素 #t=map(lambda x:x**2,[1,2,
分类: 其他 发布时间: 11-10 22:38 阅读次数: 0