Python OpenCV人脸识别错误待解

在编写人脸识别的时候(代码如下):

import cv2
import numpy as np

cascPath = "C:\opencv\sources\data\haarcascades\haarcascade_frontalface_alt2.xml"
faceCascade = cv2.CascadeClassifier(cascPath)

video_capture = cv2.VideoCapture(0)


while True:
    ret, frame = video_capture.read()

    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    faces = faceCascade.detectMultiScale(
        gray,
        scaleFactor=1.1,
        minNeighbors=10,    #Adjust accuracy
        minSize=(50, 50),
        flags=cv2.CASCADE_SCALE_IMAGE
        )
    for (x, y, w, h) in faces:
        cv2.rectangle(frame, (x, y), (x+w, y+h), (255, 255, 255), 2)
    cv2.imshow('Video', frame)

    if cv2.waitKey(1) & 0xFF == ord('q'):
        break
    if cv2.waitKey(1) & 0xFF == ord('s'):
        cv2.imwrite('test1.png', frame)
        img = cv2.imread("test1.png")
        face = img[x:x+w,y:y+h]
        cv2.imshow('Face', face)
        cv2.imwrite("face_detected.png", face)
        images=[]
        images.append(cv2.imread("klp.jpg",cv2.IMREAD_GRAYSCALE))
        images.append(cv2.imread("wh.jpg",cv2.IMREAD_GRAYSCALE))
        images.append(cv2.imread("wk.jpg",cv2.IMREAD_GRAYSCALE))
        Labels=[0,1,2]

        recognizer = cv2.face.LBPHFaceRecognizer_create()
        recognizer.train(images, np.array(Labels))
        predict_image = cv2.imread("face_detected.png",cv2.IMREAD_GRAYSCALE)
        label,confidence= recognizer.predict(predict_image)
        print("Label=", label)
        print("Confidence=", confidence)

video_capture.release()
cv2.destroyAllWindows()

出现了如下问题:

Exception has occurred: error
OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\core\src\matrix.cpp:235: error: (-215:Assertion failed) s >= 0 in function 'cv::setSize'
  File "F:\learn_python\Models\DetectFace&Recognize.py", line 41, in <module>
    recognizer.train(images, np.array(Labels))
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
python + opencv人脸识别然后进行比对如何实现?
python + opencv人脸识别然后进行比对如何实现? 现在能做的就是视屏流过来然后一帧一帧的判断进行人脸识别 能识别出来 但是如何把识别出来的人进行比对呢? 例如视频中出现张三、李四人脸识别捕捉到了脸 但是怎么进行比对脸是谁? 通过python实现 或是说python有什么库可以进行提取人脸特征然后保存
python+opencv人脸识别中的算法问题
python+opencv做的人脸识别,用的python开源库face_recognition,程序可以 跑的通,但是现在对于face_recognition里面的compare_faces算法不是很清楚 有哪位大神了解的吗?求教 参考:https://yq.aliyun.com/articles/460276
Python OpenCV Canny错误待解
买了一本OpenCV的书,在使用Canny进行边缘检测的时候出现了声明错误 代码片段如下: ``` import cv2 import matplotlib.pyplot as plt o=cv2.imread("lena.bmp", cv2.IMREAD_GRAYSCALE) r1 = cv2.Canny(o,128,200) cv2.imshow("result1",r1) cv2.waitKey() cv2.destroyAllWindows() ``` 书上是这么写的,但是我用起来就会报错,报错内容如下: ``` Exception has occurred: error OpenCV(4.1.0) C:\projects\opencv-python\opencv\modules\highgui\src\window.cpp:352: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow' File "F:\learn_python\Models\test.py", line 6, in <module> cv2.imshow("result1",r1) ``` 其中```cv2.imshow```里面的双引号和单引号都试过,报同样的错误。
新人 人脸识别 python opencv.深度学习 有一些概念性问题 求助一下
刚开始接触学习 人脸识别 网上教程有点多和乱。。看了很多东西。 我总结为下面3个问题。 1.pyyhon的cnn卷积神经网络可以直接做人脸识别? 2.python for opencv 可以直接做出人脸识别? 3 python opencv+深度学习cnn 来做出人脸识别。? 根据百度词条 opencv是一个机器视觉库 看了很多文章他里面应该是有传统的识别haar和llbp特征识别出人脸的 而cnn神经网络算法是和opencv中传统算法所不一样的 是一个深度学习的强化 更好的做人脸识别。 我对上述内容怎么说就是比较懵逼啦。。希望有朋友能帮我梳理出几个学习的框架。我好去学习 另外我现在是想在windows上学习。后期想加在树莓派上的linux系统。 谢谢大家!刚开始用csdn....学生党没有钱了 不好意思各位。。
android Opencv 人脸检测
请问有大神做过opencv人脸识别的相关demo吗?找了好长时间都是人脸检测
基于Python-opencv的人脸识别检测
1.人脸识别检测已经做出来了,现在需要多加一个功能,就是在人脸定位了之后,要对人脸进行覆盖,就是用图片把人脸覆盖。这个功能我不会,求各位大神帮一下子。 我的代码如下: import cv2 face_cascade = cv2.CascadeClassifier('E:\openCV\opencv\sources/data/haarcascades/haarcascade_frontalface_alt2.xml') cap = cv2.VideoCapture(0) while True: ret,img = cap.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) faces = face_cascade.detectMultiScale(gray, 1.3, 5) for (x,y,w,h) in faces: cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2) cv2.imshow('img',img) if cv2.waitKey(1) &0xFF == ord('q'): break cap.release() cv2.destroyAllWindows()
python+opencv中人脸识别问题
树莓派linux系统里python3.5+opencv3.4环境,从网上找了个例子测试, 程序输入进去之后报错,已经改了几个,但是剩最后一个改来改去怎么都不对 所以请问各位大神们有谁知道怎么回事吗? 程序:http://hongbin96.com/61,网页中的最后一个程序(摄像头实时识别) 错误:![图片说明](https://img-ask.csdn.net/upload/201805/15/1526369339_379015.jpg)
求助OpenCV人脸识别相关函数问题?
1.OpenCV关于特征脸方法中, 2.用Ptr<BasicFaceRecognizer> model = EigenFaceRecognizer::create();创建模型后, 定义完参数类型后,model->predict(testSample,predictedLabel,confidence);报错,显示没有与参数列表匹配的实例,这是为什么啊,如果用错了,那该用什么得到人脸识别结果的置信率呢?
关于opencv的人脸识别识别率极低
我用opencv做了一个人脸识别的应用。主要流程就是,从一幅图中检测出人脸,然后将人脸框定为一张新的图片,再利用这张图片,调用opencv的识别函数进行识别。可问题是,内置的三个算法我都用过了,为什么识别率都非常低呢?甚至基本是无法识别的。 我已经训练好了样本库的,训练用的是证件照,每个人的证件照通过旋转一定角度从而分别形成十个样本。 用于识别的照片是普通的生活照,近距离的人脸照。
opencv 人脸识别detectMultiScale函数编译报错
我在android平台camera hardware中加入opencv的代码,编译出现了如下错误: undefined reference to 'cv::CascadeClassifier::detectMultiScale(cv::_InputArray const&, std::__1::vector<cv::Rect_<int>, std::__1::allocator<cv::Rect_<int> > >&, double, int, int, cv::Size_<int>, cv::Size_<int>)' 我在网上查询了资料好像与gnustl有关,但是在android.mk中有LOCAL_NDK_STL_VARIANT := gnustl_static。编译生成的so我也加到了camera编译生成so的mk文件中,还请大神帮忙解决下,谢谢
opencv人脸识别如何避免将xml加载到内存中
使用opencv训练了人脸识别的数据,现在有两个问题: 一:假设已经训练了100张照片,想新增10张照片,有没有什么函数可以在原数据上追加而不是将110张照片全部训练一遍,如果没有这种方法,我只能再生成一个xml与前一个xml合并。 二:xml非常大,目前已经几百M了,程序启动时就用read方法将其读入了内存,如果后续文件越来越多,岂不是内存也越来越大,肯定不是长久之计,opencv没有其他方式处理吗
python opencv 视频打开错误
python版本 2.7.6 opencv版本 3.1.0 numpy版本 1.8.0 读取视频时报以下错误,视频路径没有错 报错信息中的路径和实际不一样,实际是在source文件夹下而不是build文件夹,是我什么文件弄错了吗?还是什么其他问题?望大神指点,新人没有c币![图片说明](https://img-ask.csdn.net/upload/201610/14/1476375790_796837.png)
如何在Android中用OPENCV实现人脸检测,人脸识别等功能,如何实现,用什么方法?
如何在Android中用OPENCV实现人脸检测,人脸识别等功能,如何实现,用什么方法?
Java 利用OpenCV实现人脸识别成功率太低怎么办
## 最近写了一个java+OpenCV实现人脸识别的demo,但是成功率很低.有什么可行有效的方法提高成功率么? ## 最好能有详细的指导,谢谢! ![图片说明](https://img-ask.csdn.net/upload/201911/06/1573026900_18385.jpg) ![图片说明](https://img-ask.csdn.net/upload/201911/06/1573027030_770030.jpg) ## 像这种正脸的可以识别 ## ## 脸稍微侧一点识别率就非常低 ![图片说明](https://img-ask.csdn.net/upload/201911/06/1573027126_419310.jpeg) ![图片说明](https://img-ask.csdn.net/upload/201911/06/1573027144_315009.jpeg) ## 像这两张就识别不出来 ## ## 有些能识别出来也是错误的 ![图片说明](https://img-ask.csdn.net/upload/201911/06/1573027238_735753.jpg) ## 有懂这方面的大神麻烦指导一下,有没有什么简单便捷的方法能提高准确率的 ## 如果有自己训练好的高成功率的xml文件发我一份也行
OpenCV PCA人脸识别时欧氏距离的问题
我用PCA+SVM方式对ORL人脸库进行人脸识别,使用Opencv的PCA库进行降维及特征提取,提取后的特征用于SVM训练,如果每人用两个图进行学习,最终测试样本的识别率能到85%+。 但是我如果用测试样本的特征向量和训练样本的特征向量进行欧式距离(NORM_L2)的计算,计算结果十分没有规律,不管是不是同一个人的特征,距离从一千多到四千多的都有。这种情况十分不合理呀,opencv还有个基于PCA样本距离的特征脸识别库不就是用L2距离进行比较来进行识别的吗?鉴于此我又实验了一下使用opencv的特征脸识别库EigenFaceRecognizer进行人脸识别,同样的样本划分,但是不自己写特征提取代码,直接输入原始图片,因为特提取的工作是特征脸库自己做的,识别率也能到80%+。 总结起来问题就是,我用PCA提取的特征进行SVM人脸识别,效果还可以,但是直接用测试样本的特征值和训练样本的特征值进行距离比较,却并不能得出同一人的样本距离会比较近,不同人的会比较远的结果,和特征脸识别的工作原理不符。不知是哪里有问题,求解!
利用opencv实现人脸识别
目前本人已实现实时人脸检测,但怎样进一步完成特征采集存入数据库,并将检测到的人脸与数据库中的比对却没有头绪。求助!!!
加急!100分求一个基于opencv的人脸识别demo
加急!100分求一个java基于opencv的人脸识别demo 需求如下: 利用摄像头录入图像并输入用户名保存到数据库或者本地文件中,然后在验证页面输入用户名后显示已经录入的图像,并通过摄像头扫描对象面部,认证是否是同一个人。 悬赏40分,下载可运行的项目demo再付后面的60分 识别率越高越好,但最低要求正面的识别率一定要高,不是java的麻烦请提供环境搭建安装说明,谢谢!!
opencv+python人脸识别问题!请求大佬帮帮忙!
定义 def read_images(path, sz=None): 前是否需要给path赋上路径? (path = 'E:\PyCharm\rebook\data\at' def read_images(path, sz=None):) 还有这样报错,语法哪里出问题? ( File "E:/PyCharm/rebook/4load_pic.py", line 91 except IOError as (errno, strerror): ^ SyntaxError: invalid syntax ) 实在是没办法呀! 各路神仙帮帮忙! ``` import os import sys import cv2 import numpy as np def normalize(X, low, high, dtype=None): """Normalizes a given array in X to a value between low and high.""" X = np.asarray(X) minX, maxX = np.min(X), np.max(X) # normalize to [0...1]. X = X - float(minX) X = X / float((maxX - minX)) # scale to [low...high]. X = X * (high-low) X = X + low if dtype is None: return np.asarray(X) return np.asarray(X, dtype=dtype) path = 'E:\PyCharm\rebook\data\at' def read_images(path, sz=None): """Reads the images in a given folder, resizes images on the fly if size is given. Args: path: Path to a folder with subfolders representing the subjects (persons). sz: A tuple with the size Resizes Returns: A list [X,y] X: The images, which is a Python list of numpy arrays. y: The corresponding labels (the unique number of the subject, person) in a Python list. """ c = 0 X,y = [], [] for dirname, dirnames, filenames in os.walk(path): for subdirname in dirnames: subject_path = os.path.join(dirname, subdirname) for filename in os.listdir(subject_path): try: if (filename == ".directory"): continue filepath = os.path.join(subject_path, filename) im = cv2.imread(os.path.join(subject_path, filename), cv2.IMREAD_GRAYSCALE) if (im is None): print ("image " + filepath + " is none") # resize to given size (if given) if (sz is not None): im = cv2.resize(im, sz) X.append(np.asarray(im, dtype=np.uint8)) y.append(c) except IOError as (errno, strerror): print ("I/O error({0}): {1}".format(errno, strerror)) except: print ("Unexpected error:", sys.exc_info()[0]) raise c = c+1 return [X,y] if __name__ == "__main__": # This is where we write the images, if an output_dir is given # in command line: out_dir = None # You'll need at least a path to your image data, please see # the tutorial coming with this source code on how to prepare # your image data: if len(sys.argv) < 2: print ("USAGE: facerec_demo.py </path/to/images> [</path/to/store/images/at>]") sys.exit() # Now read in the image data. This must be a valid path! [X,y] = read_images(sys.argv[1]) # Convert labels to 32bit integers. This is a workaround for 64bit machines, # because the labels will truncated else. This will be fixed in code as # soon as possible, so Python users don't need to know about this. # Thanks to Leo Dirac for reporting: y = np.asarray(y, dtype=np.int32) # If a out_dir is given, set it: if len(sys.argv) == 3: out_dir = sys.argv[2] # Create the Eigenfaces model. We are going to use the default # parameters for this simple example, please read the documentation # for thresholding: model = cv2.face.createEigenFaceRecognizer() # Read # Learn the model. Remember our function returns Python lists, # so we use np.asarray to turn them into NumPy lists to make # the OpenCV wrapper happy: model.train(np.asarray(X), np.asarray(y)) # We now get a prediction from the model! In reality you # should always use unseen images for testing your model. # But so many people were confused, when I sliced an image # off in the C++ version, so I am just using an image we # have trained with. # # model.predict is going to return the predicted label and # the associated confidence: [p_label, p_confidence] = model.predict(np.asarray(X[0])) # Print it: print ("Predicted label = %d (confidence=%.2f)" % (p_label, p_confidence)) # Cool! Finally we'll plot the Eigenfaces, because that's # what most people read in the papers are keen to see. # # Just like in C++ you have access to all model internal # data, because the cv::FaceRecognizer is a cv::Algorithm. # # You can see the available parameters with getParams(): print (model.getParams()) # Now let's get some data: mean = model.getMat("mean") eigenvectors = model.getMat("eigenvectors") # We'll save the mean, by first normalizing it: mean_norm = normalize(mean, 0, 255, dtype=np.uint8) mean_resized = mean_norm.reshape(X[0].shape) if out_dir is None: cv2.imshow("mean", mean_resized) else: cv2.imwrite("%s/mean.png" % (out_dir), mean_resized) # Turn the first (at most) 16 eigenvectors into grayscale # images. You could also use cv::normalize here, but sticking # to NumPy is much easier for now. # Note: eigenvectors are stored by column: for i in xrange(min(len(X), 16)): eigenvector_i = eigenvectors[:,i].reshape(X[0].shape) eigenvector_i_norm = normalize(eigenvector_i, 0, 255, dtype=np.uint8) # Show or save the images: if out_dir is None: cv2.imshow("%s/eigenface_%d" % (out_dir,i), eigenvector_i_norm) else: cv2.imwrite("%s/eigenface_%d.png" % (out_dir,i), eigenvector_i_norm) # Show the images: if out_dir is None: cv2.waitKey(0) ```
opencv的人脸识别和人眼识别
这个是基于opencv的人脸识别和人眼识别,但是我的电脑运行不了,好像是分类器的地址找不到,不太清楚opencv分类器地址,各位大虾帮帮忙 #include "opencv2/objdetect/objdetect.hpp" #include "opencv2/highgui/highgui.hpp" #include "opencv2/imgproc/imgproc.hpp" #include <iostream> #include <stdio.h> using namespace std; using namespace cv; /** Function Headers */ void detectAndDisplay(Mat frame); /** Global variables */ String face_cascade_name = "haarcascade_frontalface_alt.xml"; String eyes_cascade_name = "haarcascade_eye_tree_eyeglasses.xml"; CascadeClassifier face_cascade; CascadeClassifier eyes_cascade; string window_name = "Capture - Face detection"; RNG rng(12345); /** @function main */ int main(int argc, const char** argv) { CvCapture* capture; Mat frame; //-- 1. Load the cascades if (!face_cascade.load(face_cascade_name)){ printf("--(!)Error loading\n"); return -1; }; if (!eyes_cascade.load(eyes_cascade_name)){ printf("--(!)Error loading\n"); return -1; }; //-- 2. Read the video stream capture = cvCaptureFromCAM(-1); if (capture) { while (true) { frame = cvQueryFrame(capture); //-- 3. Apply the classifier to the frame if (!frame.empty()) { detectAndDisplay(frame); } else { printf(" --(!) No captured frame -- Break!"); break; } int c = waitKey(10); if ((char)c == 'c') { break; } } } return 0; } /** @function detectAndDisplay */ void detectAndDisplay(Mat frame) { std::vector<Rect> faces; Mat frame_gray; cvtColor(frame, frame_gray, CV_BGR2GRAY); equalizeHist(frame_gray, frame_gray); //-- Detect faces face_cascade.detectMultiScale(frame_gray, faces, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30)); for (size_t i = 0; i < faces.size(); i++) { Point center(faces[i].x + faces[i].width*0.5, faces[i].y + faces[i].height*0.5); ellipse(frame, center, Size(faces[i].width*0.5, faces[i].height*0.5), 0, 0, 360, Scalar(255, 0, 255), 4, 8, 0); Mat faceROI = frame_gray(faces[i]); std::vector<Rect> eyes; //-- In each face, detect eyes eyes_cascade.detectMultiScale(faceROI, eyes, 1.1, 2, 0 | CV_HAAR_SCALE_IMAGE, Size(30, 30)); for (size_t j = 0; j < eyes.size(); j++) { Point center(faces[i].x + eyes[j].x + eyes[j].width*0.5, faces[i].y + eyes[j].y + eyes[j].height*0.5); int radius = cvRound((eyes[j].width + eyes[j].height)*0.25); circle(frame, center, radius, Scalar(255, 0, 0), 4, 8, 0); } } //-- Show what you got imshow(window_name, frame); }
Java学习的正确打开方式
在博主认为,对于入门级学习java的最佳学习方法莫过于视频+博客+书籍+总结,前三者博主将淋漓尽致地挥毫于这篇博客文章中,至于总结在于个人,实际上越到后面你会发现学习的最好方式就是阅读参考官方文档其次就是国内的书籍,博客次之,这又是一个层次了,这里暂时不提后面再谈。博主将为各位入门java保驾护航,各位只管冲鸭!!!上天是公平的,只要不辜负时间,时间自然不会辜负你。 何谓学习?博主所理解的学习,它
大学四年自学走来,这些私藏的实用工具/学习网站我贡献出来了
大学四年,看课本是不可能一直看课本的了,对于学习,特别是自学,善于搜索网上的一些资源来辅助,还是非常有必要的,下面我就把这几年私藏的各种资源,网站贡献出来给你们。主要有:电子书搜索、实用工具、在线视频学习网站、非视频学习网站、软件下载、面试/求职必备网站。 注意:文中提到的所有资源,文末我都给你整理好了,你们只管拿去,如果觉得不错,转发、分享就是最大的支持了。 一、PDF搜索网站推荐 对于大部
linux系列之常用运维命令整理笔录
本博客记录工作中需要的linux运维命令,大学时候开始接触linux,会一些基本操作,可是都没有整理起来,加上是做开发,不做运维,有些命令忘记了,所以现在整理成博客,当然vi,文件操作等就不介绍了,慢慢积累一些其它拓展的命令,博客不定时更新 顺便拉下票,我在参加csdn博客之星竞选,欢迎投票支持,每个QQ或者微信每天都可以投5票,扫二维码即可,http://m234140.nofollow.ax.
Vue + Spring Boot 项目实战(十四):用户认证方案与完善的访问拦截
本篇文章主要讲解 token、session 等用户认证方案的区别并分析常见误区,以及如何通过前后端的配合实现完善的访问拦截,为下一步权限控制的实现打下基础。
比特币原理详解
一、什么是比特币 比特币是一种电子货币,是一种基于密码学的货币,在2008年11月1日由中本聪发表比特币白皮书,文中提出了一种去中心化的电子记账系统,我们平时的电子现金是银行来记账,因为银行的背后是国家信用。去中心化电子记账系统是参与者共同记账。比特币可以防止主权危机、信用风险。其好处不多做赘述,这一层面介绍的文章很多,本文主要从更深层的技术原理角度进行介绍。 二、问题引入  假设现有4个人
程序员接私活怎样防止做完了不给钱?
首先跟大家说明一点,我们做 IT 类的外包开发,是非标品开发,所以很有可能在开发过程中会有这样那样的需求修改,而这种需求修改很容易造成扯皮,进而影响到费用支付,甚至出现做完了项目收不到钱的情况。 那么,怎么保证自己的薪酬安全呢? 我们在开工前,一定要做好一些证据方面的准备(也就是“讨薪”的理论依据),这其中最重要的就是需求文档和验收标准。一定要让需求方提供这两个文档资料作为开发的基础。之后开发
网页实现一个简单的音乐播放器(大佬别看。(⊙﹏⊙))
今天闲着无事,就想写点东西。然后听了下歌,就打算写个播放器。 于是乎用h5 audio的加上js简单的播放器完工了。 欢迎 改进 留言。 演示地点跳到演示地点 html代码如下`&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;music&lt;/title&gt; &lt;meta charset="utf-8"&gt
Python十大装B语法
Python 是一种代表简单思想的语言,其语法相对简单,很容易上手。不过,如果就此小视 Python 语法的精妙和深邃,那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点,并附上详细的实例代码。如能在实战中融会贯通、灵活使用,必将使代码更为精炼、高效,同时也会极大提升代码B格,使之看上去更老练,读起来更优雅。 1. for - else 什么?不是 if 和 else 才
数据库优化 - SQL优化
前面一篇文章从实例的角度进行数据库优化,通过配置一些参数让数据库性能达到最优。但是一些“不好”的SQL也会导致数据库查询变慢,影响业务流程。本文从SQL角度进行数据库优化,提升SQL运行效率。 判断问题SQL 判断SQL是否有问题时可以通过两个表象进行判断: 系统级别表象 CPU消耗严重 IO等待严重 页面响应时间过长
2019年11月中国大陆编程语言排行榜
2019年11月2日,我统计了某招聘网站,获得有效程序员招聘数据9万条。针对招聘信息,提取编程语言关键字,并统计如下: 编程语言比例 rank pl_ percentage 1 java 33.62% 2 c/c++ 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7
通俗易懂地给女朋友讲:线程池的内部原理
餐厅的约会 餐盘在灯光的照耀下格外晶莹洁白,女朋友拿起红酒杯轻轻地抿了一小口,对我说:“经常听你说线程池,到底线程池到底是个什么原理?”我楞了一下,心里想女朋友今天是怎么了,怎么突然问出这么专业的问题,但做为一个专业人士在女朋友面前也不能露怯啊,想了一下便说:“我先给你讲讲我前同事老王的故事吧!” 大龄程序员老王 老王是一个已经北漂十多年的程序员,岁数大了,加班加不动了,升迁也无望,于是拿着手里
经典算法(5)杨辉三角
写在前面: 我是 扬帆向海,这个昵称来源于我的名字以及女朋友的名字。我热爱技术、热爱开源、热爱编程。技术是开源的、知识是共享的。 这博客是对自己学习的一点点总结及记录,如果您对 Java、算法 感兴趣,可以关注我的动态,我们一起学习。 用知识改变命运,让我们的家人过上更好的生活。 目录一、杨辉三角的介绍二、杨辉三角的算法思想三、代码实现1.第一种写法2.第二种写法 一、杨辉三角的介绍 百度
腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹?
昨天,有网友私信我,说去阿里面试,彻底的被打击到了。问了为什么网上大量使用ThreadLocal的源码都会加上private static?他被难住了,因为他从来都没有考虑过这个问题。无独有偶,今天笔者又发现有网友吐槽了一道腾讯的面试题,我们一起来看看。 腾讯算法面试题:64匹马8个跑道需要多少轮才能选出最快的四匹? 在互联网职场论坛,一名程序员发帖求助到。二面腾讯,其中一个算法题:64匹
面试官:你连RESTful都不知道我怎么敢要你?
面试官:了解RESTful吗? 我:听说过。 面试官:那什么是RESTful? 我:就是用起来很规范,挺好的 面试官:是RESTful挺好的,还是自我感觉挺好的 我:都挺好的。 面试官:… 把门关上。 我:… 要干嘛?先关上再说。 面试官:我说出去把门关上。 我:what ?,夺门而去 文章目录01 前言02 RESTful的来源03 RESTful6大原则1. C-S架构2. 无状态3.统一的接
SQL-小白最佳入门sql查询一
一 说明 如果是初学者,建议去网上寻找安装Mysql的文章安装,以及使用navicat连接数据库,以后的示例基本是使用mysql数据库管理系统; 二 准备前提 需要建立一张学生表,列分别是id,名称,年龄,学生信息;本示例中文章篇幅原因SQL注释略; 建表语句: CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `
项目中的if else太多了,该怎么重构?
介绍 最近跟着公司的大佬开发了一款IM系统,类似QQ和微信哈,就是聊天软件。我们有一部分业务逻辑是这样的 if (msgType = "文本") { // dosomething } else if(msgType = "图片") { // doshomething } else if(msgType = "视频") { // doshomething } else { // dosho
漫话:什么是平衡(AVL)树?这应该是把AVL树讲的最好的文章了
这篇文章通过对话的形式,由浅入深带你读懂 AVL 树,看完让你保证理解 AVL 树的各种操作,如果觉得不错,别吝啬你的赞哦。 1、若它的左子树不为空,则左子树上所有的节点值都小于它的根节点值。 2、若它的右子树不为空,则右子树上所有的节点值均大于它的根节点值。 3、它的左右子树也分别可以充当为二叉查找树。 例如: 例如,我现在想要查找数值为14的节点。由于二叉查找树的特性,我们可...
“狗屁不通文章生成器”登顶GitHub热榜,分分钟写出万字形式主义大作
一、垃圾文字生成器介绍 最近在浏览GitHub的时候,发现了这样一个骨骼清奇的雷人项目,而且热度还特别高。 项目中文名:狗屁不通文章生成器 项目英文名:BullshitGenerator 根据作者的介绍,他是偶尔需要一些中文文字用于GUI开发时测试文本渲染,因此开发了这个废话生成器。但由于生成的废话实在是太过富于哲理,所以最近已经被小伙伴们给玩坏了。 他的文风可能是这样的: 你发现,
程序员:我终于知道post和get的区别
IT界知名的程序员曾说:对于那些月薪三万以下,自称IT工程师的码农们,其实我们从来没有把他们归为我们IT工程师的队伍。他们虽然总是以IT工程师自居,但只是他们一厢情愿罢了。 此话一出,不知激起了多少(码农)程序员的愤怒,却又无可奈何,于是码农问程序员。 码农:你知道get和post请求到底有什么区别? 程序员:你看这篇就知道了。 码农:你月薪三万了? 程序员:嗯。 码农:你是怎么做到的? 程序员:
《程序人生》系列-这个程序员只用了20行代码就拿了冠军
你知道的越多,你不知道的越多 点赞再看,养成习惯GitHub上已经开源https://github.com/JavaFamily,有一线大厂面试点脑图,欢迎Star和完善 前言 这一期不算《吊打面试官》系列的,所有没前言我直接开始。 絮叨 本来应该是没有这期的,看过我上期的小伙伴应该是知道的嘛,双十一比较忙嘛,要值班又要去帮忙拍摄年会的视频素材,还得搞个程序员一天的Vlog,还要写BU
开源并不是你认为的那些事
点击上方蓝字 关注我们开源之道导读所以 ————想要理清开源是什么?先要厘清开源不是什么,名正言顺是句中国的古代成语,概念本身的理解非常之重要。大部分生物多样性的起源,...
加快推动区块链技术和产业创新发展,2019可信区块链峰会在京召开
      11月8日,由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办,科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。   区块链技术被认为是继蒸汽机、电力、互联网之后,下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力,电力解决了人类基本的生活需求,互联网彻底改变了信息传递的方式,区块链作为构造信任的技术有重要的价值。   1
程序员把地府后台管理系统做出来了,还有3.0版本!12月7号最新消息:已在开发中有github地址
第一幕:缘起 听说阎王爷要做个生死簿后台管理系统,我们派去了一个程序员…… 996程序员做的梦: 第一场:团队招募 为了应对地府管理危机,阎王打算找“人”开发一套地府后台管理系统,于是就在地府总经办群中发了项目需求。 话说还是中国电信的信号好,地府都是满格,哈哈!!! 经常会有外行朋友问:看某网站做的不错,功能也简单,你帮忙做一下? 而这次,面对这样的需求,这个程序员
网易云6亿用户音乐推荐算法
网易云音乐是音乐爱好者的集聚地,云音乐推荐系统致力于通过 AI 算法的落地,实现用户千人千面的个性化推荐,为用户带来不一样的听歌体验。 本次分享重点介绍 AI 算法在音乐推荐中的应用实践,以及在算法落地过程中遇到的挑战和解决方案。 将从如下两个部分展开: AI 算法在音乐推荐中的应用 音乐场景下的 AI 思考 从 2013 年 4 月正式上线至今,网易云音乐平台持续提供着:乐屏社区、UGC
【技巧总结】位运算装逼指南
位算法的效率有多快我就不说,不信你可以去用 10 亿个数据模拟一下,今天给大家讲一讲位运算的一些经典例子。不过,最重要的不是看懂了这些例子就好,而是要在以后多去运用位运算这些技巧,当然,采用位运算,也是可以装逼的,不信,你往下看。我会从最简单的讲起,一道比一道难度递增,不过居然是讲技巧,那么也不会太难,相信你分分钟看懂。 判断奇偶数 判断一个数是基于还是偶数,相信很多人都做过,一般的做法的代码如下
《C++ Primer》学习笔记(六):C++模块设计——函数
专栏C++学习笔记 《C++ Primer》学习笔记/习题答案 总目录 https://blog.csdn.net/TeFuirnever/article/details/100700212 —————————————————————————————————————————————————————— 《C++ Primer》习题参考答案:第6章 - C++模块设计——函数 文章目录专栏C+...
8年经验面试官详解 Java 面试秘诀
    作者 | 胡书敏 责编 | 刘静 出品 | CSDN(ID:CSDNnews) 本人目前在一家知名外企担任架构师,而且最近八年来,在多家外企和互联网公司担任Java技术面试官,前后累计面试了有两三百位候选人。在本文里,就将结合本人的面试经验,针对Java初学者、Java初级开发和Java开发,给出若干准备简历和准备面试的建议。   Java程序员准备和投递简历的实
面试官如何考察你的思维方式?
1.两种思维方式在求职面试中,经常会考察这种问题:北京有多少量特斯拉汽车? 某胡同口的煎饼摊一年能卖出多少个煎饼? 深圳有多少个产品经理? 一辆公交车里能装下多少个乒乓球? 一
so easy! 10行代码写个"狗屁不通"文章生成器
前几天,GitHub 有个开源项目特别火,只要输入标题就可以生成一篇长长的文章。背后实现代码一定很复杂吧,里面一定有很多高深莫测的机器学习等复杂算法不过,当我看了源代码之后这程序不到50
知乎高赞:中国有什么拿得出手的开源软件产品?(整理自本人原创回答)
知乎高赞:中国有什么拿得出手的开源软件产品? 在知乎上,有个问题问“中国有什么拿得出手的开源软件产品(在 GitHub 等社区受欢迎度较好的)?” 事实上,还不少呢~ 本人于2019.7.6进行了较为全面的 回答 - Bravo Yeung,获得该问题下回答中得最高赞(236赞和1枚专业勋章),对这些受欢迎的 Github 开源项目分类整理如下: 分布式计算、云平台相关工具类 1.SkyWalk
相关热词 如何提升c#开发能力 矩阵乘法c# c#调用谷歌浏览器 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天
立即提问