Ixy,Iyy】

def dxx(img)
return 略
def dyy(img)
return 略
def dxy(img)
return 略

def laplace(img)
return dxx(img)+dyy(img)
def hessian(img)

``````    #用一元二次方程解特征值。
``````

if name == "__main__":

``````    laplace(img)-numpy.sum(hessian)<1e-10
``````

1个回答

void MainWindow::LT() { QImage *SobelImage=new QImage(img->width(), img->height(),QImage::Format_ARGB32); int width=img->width(),height=img->height(); int pixelNum=width*height; int i,j,k,l; float rResult,gResult,bResult; float laplace[9]={0,-1,0,-1,5,-1,0,-1,0}; QRgb pixelOld[pixelNum],pixelTemp1[pixelNum]; int rtmp,gtmp,btmp; memset(pixelTemp1,0,pixelNum); QRgb tmpRgb; for(j=0;j<height;j++) { for(i=0;i<width;i++) { tmpRgb=img->pixel(i,j); pixelOld[j*width+i]=tmpRgb; } } for(j=1;j<height-1;j++) { for(i=1;i<width-1;i++) { rResult=0; gResult=0; bResult=0; for(k=0;k<3;k++) { for(l=0;l<3;l++) { rResult+=qRed(pixelOld[(j-1+k)*width+(i-1+l)])*laplace[k*3+l]; gResult+=qGreen(pixelOld[(j-1+k)*width+(i-1+l)])*laplace[k*3+l]; bResult+=qBlue(pixelOld[(j-1+k)*width+(i-1+l)])*laplace[k*3+l]; } } rResult=(float)fabs(rResult); gResult=(float)fabs(gResult); bResult=(float)fabs(bResult); if(rResult>255) { rtmp=255; } else rtmp=(int)(rResult+0.5); if(gResult>255) gtmp=255; else gtmp=(int)(gResult+0.5); if(bResult>255) btmp=255; else btmp=(int)(bResult+0.5); // pixelTemp1[j*width+i]=qRgb(rtmp,gtmp,btmp); } } for(j=0;j<height;j++) { for(i=0;i<width;i++) { SobelImage->setPixel(i,j,qRgb(rtmp,gtmp,btmp)); } } label->setPixmap(QPixmap::fromImage(*SobelImage)); // delete img; // delete[] pixelTemp1; }
opencv3.0+vs2010中使用cvQueryFrame出现问题！
CvCapture *capture; capture = cvCreateCameraCapture(0); cvNamedWindow("Laplace",0); IplImage *frame; while(1) { frame = cvQueryFrame(capture);//运行到这，出现failed to load opencl //runtime cvShowImage("Laplace",frame); if('a' ==cvWaitKey(10)) break; } cvReleaseCapture(&capture); cvDestroyWindow("Laplace"); return 0;
log边缘检测代码及结果如下？是什么地方错了出现这种结果？
int main() { // 读取原始图片 Mat image= cv::imread("lena.jpg",0); // 定义5X5LOG模板 Mat mask=(Mat_<char>(5,5)<<-2,-4,-4,-4,-2, -4, 0, 8, 0,-4, -4, 8,24, 8,-4, -4, 0, 8, 0,-4, -2,-4,-4,-4,-2 ); // LOG模板对原始图片卷积 Mat laplace; filter2D(image,laplace,image.depth (),mask); for(int i=1;i<=laplace.cols-2;i++) for(int j=1;j<=laplace.rows-2;j++) if(laplace.at<uchar>(j,i)*laplace.at<uchar>(j-1,i)<0 || laplace.at<uchar>(j,i)*laplace.at<uchar>(j+1,i)<0 || laplace.at<uchar>(j,i)*laplace.at<uchar>(j,i-1)<0 || laplace.at<uchar>(j,i)*laplace.at<uchar>(j,i+1)<0) laplace.at<uchar>(j,i)=0; else laplace.at<uchar>(j,i)=255; namedWindow("LOG边缘"); imshow("LOG边缘",laplace); waitKey(10000000); return 0; }![图片说明](https://img-ask.csdn.net/upload/201501/11/1420979121_46492.jpg)
R语言 e1071包 调用naiveBayes函数，预测时没有结果。

geopdes是解决等几何问题的matlab代码，我在使用geopdes的过程中遇到一些困难，希望能向大神请教一下此方面的问题，将不胜感激！里面好多m文件，运行时是不是运行主程序，然后自动调用，但提示Undefined function 'kntrefine' for input arguments of type 'cell'. Error in solve_laplace_2d (line 72) [knots,zeta] = kntrefine (geometry.nurbs.knots, nsub-1, degree, regularity); Error in ex_laplace_square (line 35) [geometry, msh, space, u] = solve_laplace_2d (problem_data, method_data); 请大神帮助解释一下，如何定义，还有关于geopdes，有没有用过的大神
vs2013中无法解析的外部符号getmessagemap（）

![图片说明](https://img-ask.csdn.net/upload/201703/31/1490936767_681612.png) **谁能告诉我什么问题？以上是运行结果，一下是代码。** #include "GrayScott.h" #include "math.h" laplace GS_Grid[WIDTH][HEIGHT] = {}; GLubyte GS_Pix[WIDTH][HEIGHT][4]; //纹理数据 GLubyte GS_test[WIDTH][HEIGHT][4]; float GS_LAPLACIAN[3][3] = { { 0.05,0.2,0.05 }, { 0.2, -1, 0.2 }, { 0.05,0.2,0.05 } }; //初始化 void GS_Initialize() { glClearColor(0.0, 0.0, 0.0, 0.0); for (int i = 0; i < WIDTH; i++) { for (int j = 0; j < HEIGHT; j++) { GS_Grid[i][j].a = 1;//rand()/100000.0; GS_Grid[i][j].b = 0.5;// rand() / 100000.0; GS_test[i][j][0] = (GLubyte)100; GS_test[i][j][1] = (GLubyte)100; GS_test[i][j][2] = (GLubyte)100; GS_test[i][j][3] = (GLubyte)255; } } for (int i = 1; i < 30; i++) { for (int j = 1; j < 30; j++) { //GS_Grid[i][j].b = 1.0; } } GS_PixelUpdate(); glPixelStorei(GL_UNPACK_ALIGNMENT, 1); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); //设置纹理参数 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, WIDTH, HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, &GS_test); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); //设置纹理环境 glEnable(GL_TEXTURE_2D); } //交换 void GS_Swap() { } //更新 void GS_PixelUpdate() { int i, j, c; GS_ReactionDiffusion(); //glReadPixels(0, 0, WIDTH, HEIGHT, GL_BGR_EXT, GL_UNSIGNED_BYTE, &pix); for (i = 0; i < HEIGHT; i++) { for (j = 0; j < WIDTH; j++) { //c = ((((i & 0x8) == 0) ^ ((j & 0x8)) == 0)) * 255;//黑白方块交替 //int c = max(min(texNext[i][j].a - texNext[i][j].b, 1), 0); c = floor((GS_Grid[i][j].a - GS_Grid[i][j].b) * 255); GS_Pix[i][j][0] = (GLubyte)c; GS_Pix[i][j][1] = (GLubyte)GS_Grid[i][j].a*255;// floor(GS_Grid[i][j].a * 255); GS_Pix[i][j][2] = (GLubyte)GS_Grid[i][j].b * 255;// floor(GS_Grid[i][j].b * 255); GS_Pix[i][j][3] = (GLubyte)255; } } } //反应扩散 void GS_ReactionDiffusion() { //反应扩散 for (int x = 0; x < WIDTH; x++) { for (int y = 0; y < HEIGHT; y++) { float a = GS_Grid[x][y].a; float b = GS_Grid[x][y].b; //更新 GS_Grid[x][y].a = a + ((GS_DA*GS_Laplacian(x, y, GS_U)) - (a*b*b) + (GS_FEED*(1 - a)))*GS_DT; GS_Grid[x][y].b = b + ((GS_DB*GS_Laplacian(x, y, GS_V)) + (a*b*b) - ((GS_KILL + GS_FEED)*b))*GS_DT; } } } //显示纹理 void GS_Display() { glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, WIDTH, HEIGHT, 0, GL_RGBA, GL_UNSIGNED_BYTE, &GS_test); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glEnable(GL_TEXTURE_2D); glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL); glPushMatrix(); glColor4f(0, 0, 1, 1); glTranslatef(0.0, 0.0, -7.0); //glRotatef(xRot, 1, 0, 0); glBegin(GL_QUADS); //指定纹理坐标 glTexCoord2f(0.0, 0.0); glVertex3f(-3.0, -3.0, 0.0); glTexCoord2f(0.0, 1.0); glVertex3f(-3.0, 3.0, 0.0); glTexCoord2f(1.0, 1.0); glVertex3f(3.0, 3.0, 0.0); glTexCoord2f(1.0, 0.0); glVertex3f(3.0, -3.0, 0.0); glEnd(); glPopMatrix(); glFlush(); } //拉普拉斯算子 float GS_Laplacian(int x, int y, int target) { GLfloat sum = 0.0; if (target == GS_U) { sum += GS_LAPLACIAN[1][1] * GS_Grid[x][y].a; sum += GS_LAPLACIAN[1][1 - 1] * GS_Grid[x][y - 1].a; sum += GS_LAPLACIAN[1][1 + 1] * GS_Grid[x][y + 1].a; sum += GS_LAPLACIAN[1 - 1][1] * GS_Grid[x - 1][y].a; sum += GS_LAPLACIAN[1 + 1][1] * GS_Grid[x + 1][y].a; sum += GS_LAPLACIAN[1 - 1][1 - 1] * GS_Grid[x - 1][y - 1].a; sum += GS_LAPLACIAN[1 + 1][1 - 1] * GS_Grid[x + 1][y - 1].a; sum += GS_LAPLACIAN[1 + 1][1 + 1] * GS_Grid[x + 1][y + 1].a; sum += GS_LAPLACIAN[1 - 1][1 + 1] * GS_Grid[x - 1][y + 1].a; } else if (GS_V == target) { sum += GS_LAPLACIAN[1][1] * GS_Grid[x][y].b; sum += GS_LAPLACIAN[1][1 - 1] * GS_Grid[x][y - 1].b; sum += GS_LAPLACIAN[1][1 + 1] * GS_Grid[x][y + 1].b; sum += GS_LAPLACIAN[1 - 1][1] * GS_Grid[x - 1][y].b; sum += GS_LAPLACIAN[1 + 1][1] * GS_Grid[x + 1][y].b; sum += GS_LAPLACIAN[1 - 1][1 - 1] * GS_Grid[x - 1][y - 1].b; sum += GS_LAPLACIAN[1 + 1][1 - 1] * GS_Grid[x + 1][y - 1].b; sum += GS_LAPLACIAN[1 + 1][1 + 1] * GS_Grid[x + 1][y + 1].b; sum += GS_LAPLACIAN[1 - 1][1 + 1] * GS_Grid[x - 1][y + 1].b; } return sum; } void GS_Reshape(int w, int h) { glViewport(0, 0, (GLsizei)w, (GLsizei)h); glMatrixMode(GL_PROJECTION); glLoadIdentity(); gluPerspective(60.0, (GLfloat)w / (GLfloat)h, 1.0, 30.0); glMatrixMode(GL_MODELVIEW); glLoadIdentity(); } //计时器 void GS_OnTimer(int value) { GS_PixelUpdate(); glutPostRedisplay(); glutTimerFunc(500, GS_OnTimer, 1); } void main(int argc, char** argv) { glutInit(&argc, argv); glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH); glutInitWindowSize(500, 500); glutInitWindowPosition(100, 100); glutCreateWindow(argv[0]); GS_Initialize(); glutDisplayFunc(GS_Display); glutReshapeFunc(GS_Reshape); glutTimerFunc(100, GS_OnTimer, 1); glutMainLoop(); } ``` ```

Java学习的正确打开方式

linux系列之常用运维命令整理笔录

python 简易微信实现（注册登录+数据库存储+聊天+GUI+文件传输）
socket+tkinter详解+简易微信实现 历经多天的努力，查阅了许多大佬的博客后终于实现了一个简易的微信O(∩_∩)O~~ 简易数据库的实现 使用pands+CSV实现数据库框架搭建 import socket import threading from pandas import * import pymysql import csv # 创建DataFrame对象 # 存储用户数据的表（...

Python十大装B语法
Python 是一种代表简单思想的语言，其语法相对简单，很容易上手。不过，如果就此小视 Python 语法的精妙和深邃，那就大错特错了。本文精心筛选了最能展现 Python 语法之精妙的十个知识点，并附上详细的实例代码。如能在实战中融会贯通、灵活使用，必将使代码更为精炼、高效，同时也会极大提升代码B格，使之看上去更老练，读起来更优雅。

2019年11月中国大陆编程语言排行榜
2019年11月2日，我统计了某招聘网站，获得有效程序员招聘数据9万条。针对招聘信息，提取编程语言关键字，并统计如下： 编程语言比例 rank pl_ percentage 1 java 33.62% 2 cpp 16.42% 3 c_sharp 12.82% 4 javascript 12.31% 5 python 7.93% 6 go 7.25% 7 p...

《奇巧淫技》系列-python！！每天早上八点自动发送天气预报邮件到QQ邮箱

JavaScript 为什么能活到现在？

Nginx 原理和架构
Nginx 是一个免费的，开源的，高性能的 HTTP 服务器和反向代理，以及 IMAP / POP3 代理服务器。Nginx 以其高性能，稳定性，丰富的功能，简单的配置和低资源消耗而闻名。 Nginx 的整体架构 Nginx 里有一个 master 进程和多个 worker 进程。master 进程并不处理网络请求，主要负责调度工作进程：加载配置、启动工作进程及非停升级。worker 进程负责处...

Python 编程开发 实用经验和技巧
Python是一门很灵活的语言，也有很多实用的方法，有时候实现一个功能可以用多种方法实现，我这里总结了一些常用的方法和技巧，包括小数保留指定位小数、判断变量的数据类型、类方法@classmethod、制表符中文对齐、遍历字典、datetime.timedelta的使用等，会持续更新......

“狗屁不通文章生成器”登顶GitHub热榜，分分钟写出万字形式主义大作

《程序人生》系列-这个程序员只用了20行代码就拿了冠军

11月8日，由中国信息通信研究院、中国通信标准化协会、中国互联网协会、可信区块链推进计划联合主办，科技行者协办的2019可信区块链峰会将在北京悠唐皇冠假日酒店开幕。 　　区块链技术被认为是继蒸汽机、电力、互联网之后，下一代颠覆性的核心技术。如果说蒸汽机释放了人类的生产力，电力解决了人类基本的生活需求，互联网彻底改变了信息传递的方式，区块链作为构造信任的技术有重要的价值。 　　1...
Python 植物大战僵尸代码实现(2):植物卡片选择和种植

shell脚本基础
shell简介：shell是一种脚本语言，可以使用逻辑判断、循环等语法，可以自定义函数，是系统命令的集合 文章目录shell脚本结构和执行方法shell脚本中date命令的用法 shell脚本结构和执行方法 1.shell脚本开头需要加#!/bin/bash 2.以#开头的行作为注释 3.脚本的名字以.sh结尾，用于区分这是一个shell脚本 4.执行方法有两种： 1）bash test.sh 2...
8年经验面试官详解 Java 面试秘诀

1.两种思维方式在求职面试中，经常会考察这种问题：北京有多少量特斯拉汽车？某胡同口的煎饼摊一年能卖出多少个煎饼？深圳有多少个产品经理？一辆公交车里能装下多少个乒乓球？一个正常成年人有多少根头发？这类估算问题，被称为费米问题，是以科学家费米命名的。为什么面试会问这种问题呢？这类问题能把两类人清楚地区分出来。一类是具有文科思维的人，擅长赞叹和模糊想象，它主要依靠的是人的第一反应和直觉，比如小孩...

17张图带你解析红黑树的原理！保证你能看懂！

so easy！ 10行代码写个"狗屁不通"文章生成器

MySQL数据库总结