SecretGarden
码龄21年
  • 1
    被访问
  • 暂无
    原创
  • 暂无
    排名
  • 8
    粉丝
  • 0
    铁粉
关注
提问 私信
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:湖北省
  • 加入CSDN时间: 2001-04-24
博客简介:

SecretGarden的专栏

查看详细资料
个人成就
  • 获得0次点赞
  • 内容获得0次评论
  • 获得0次收藏
成就勋章
兴趣领域 设置
  • 人工智能
    opencv计算机视觉机器学习深度学习神经网络tensorflowpytorch图像处理数据分析
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

对一幅图像连续进行仿射变换带来的模糊问题

答:

连续进行仿射变换会经历很多次插值处理,即使是三次立方插值,也只是减少失真,无法完全避免。由于多个连续仿射变换总是可以等效为一个仿射变换,所以一个解决办法是将多次仿射变换先组合为一个仿射变换,然后一次性处理,当然这样做的前提是你不关心每次变换的中间结果。

回答问题 2018.04.19

openCV sobel边缘检测的图像彩色问题!求大神,感激不尽!!

答:

没有看到你的源代码,所以不没法判断你的问题,大体推测是颜色空间的问题,Sobel算子一般在灰度分量上操作。参考代码如下:

import cv2
import numpy as np

color_image = cv2.imread('1.bmp')
color_image = cv2.GaussianBlur(color_image, (3,3), 0)
gray_image = cv2.cvtColor(color_image, cv2.COLOR_BGR2GRAY)

grad_x = cv2.Sobel(gray_image, cv2.CV_16S, 1, 0)
grad_y = cv2.Sobel(gray_image, cv2.CV_16S, 0, 1)

abs_grad_x = cv2.convertScaleAbs(grad_x)
abs_grad_y = cv2.convertScaleAbs(grad_y)

target_image = cv2.addWeighted(abs_grad_x, 0.5,abs_grad_y, 0.5, 0)

cv2.imshow('target_image', target_image)
cv2.waitKey(0)
cv2.destroyAllWindows() 
回答问题 2018.04.17

关于MFC中对于文本框的控件问题

答:

GetDlgItem这个函数实际上有两个版本,一个是全局的Windows API函数:

HWND GetDlgItem(HWND hDlg, int nIDDlgItem); 

另一个是MFC中的CWnd类的成员函数:

CWnd::GetDlgItem(...);

当你在一个CWnd派生的类中(例如CDialog)调用此函数时,编译器认为是成员函数,所以按第二种方法编译,所以不会出错。而当你在其它地方调用此函数时,编译器认为是全局API函数,所以报错,提示你形参的类型不对,因为第一个方法需要HWND作为形参,而你传入了一个int类型的参数。

显然,你的本意是想调用第二个方法,所以你要检查你的函数调用的位置,要么在CWnd类及其派生类的内部调用,要么通过实例调用,例如:

pMyDlg->GetDlgItem(IDC_EDIT1)... 
回答问题 2018.04.16

tensorflow CNN训练mnist数据集后识别自己写的数字效果不好

答:

MNIST数据集与你自己采集的图像,实际上是两个不同的数据集,你在MNIST上训练,然后在你的数据集上测试,测试性能不好是十分正常的。这实际上涉及在两个相似但是不同的域之间的迁移学习的问题。有三个办法解决你的问题:

1、对你自己的数据集进行正确的归一化,包括裁剪、平移、缩放、二值化等,让它们至少看起来与MNIST数据集中的图像类似,这样识别率会改善。

2、先在MNIST上训练你的CNN模型(预训练),再用你自己的数据集进行训练(精调),一般也可以获得识别率的提升;

3、如果想获得更高的识别率,建立自己的大规模数据集(规模与MNIST相当),然后直接训练。

回答问题 2018.04.16

CMake的进度条卡着不动,救命

答:

不像是CMake的问题,所以重装CMake可能没有用。根据进度信息提示,CMake正在检查可用的C++编译器,所以有可能是你的Visual Studio有问题。考虑测试一下该目录下的Visual Studio的编译器是否正常:E:/Microsoft Visual Studio 9.0/VC/bin/cl.exe。

如果想省事,索性重新安装或修复Visual Studio,建议直接装Visual Studio 2015/2017。

回答问题 2018.04.16

C# 64位程序调用第三方32位dll,请问这种方案是否可行?

答:

1、写一个32位的exe代理程序,此代理程序调用32位dll的功能。
2、32位代理程序与64位主程序之间可使用包括套接字在内的所有Windows进程间通信方法进行功能调用和数据交换。

可参考我在另一个问题的答案:windows 应用之间通信如何实现

回答问题 2018.04.13

低温-45℃,VGA视频无输出显示

答:

如果常温可以正常显示,而低温无法显示,那就是环境温度超过了芯片的工作范围。查看每个芯片(包括CPU和视频编码芯片等)的datasheet,特别关注芯片的型号的后缀,这些后缀决定了它们的封装、温度范围等信息。

回答问题 2018.04.07

c++编译通过,调试却出现了错误,看了好多遍还是找不出错误~

答:

这种比较基础的问题呢,还是需要自己去学会调试的,一步一步,逐行代码调试,不然总有问不完的问题。

单从你的异常信息来看,应该是空指针引起的,具体来说,就是 _First 指针为 NULL,具体原因你得单步调试一下。

回答问题 2018.04.06

在下面程序中为什么无法正常保存金额以及输出余额,小白实在想不懂,希望给出解决办法

答:

怎么都是一样的问题..........参见我在另一个帖子里的回答:https://ask.csdn.net/questions/684625

补充说明,printf函数里面的变量一律直接写变量名,scanf函数里面的变量一律要取变量地址,但要注意数组只需要直接写数组名,因为数组名本身就是地址。

回答问题 2018.04.05

如何将.txt文件中的可执行代码行插入到自己程序中的指定位置

答:

这个问题比你想象的要麻烦,涉及到代码的动态创建、编译和运行。所幸C#这种高级语言提供了动态编译引擎,可实现你的想法。不过毕竟C#是编译型语言,实施起来还是有点麻烦。如果你原因使用解释型语言,比如python,那问题就简单多了,直接从文本文件中读取代码,合并到你的代码中,然后直接运行(无需编译)。

回答问题 2018.04.05

Opencv imwrite结果与原始数组不同

答:

jpg是有损压缩算法,保存再读取,相当于压缩再解压,数据矩阵有微小差别是正常的。试试保存为bmp文件就不会有这个问题了。

回答问题 2018.04.05

MFC 编译提示 找不到此类文件或者目录??这是什么问题

答:

给个问题无关但是温馨的提醒,即使是初学,也可以考虑一下淘汰Visual Studio 6.0了.........

回答问题 2018.04.05

vb.net 求百度地图两点间的行车距离

答:

这个问题已经跟VB.NET没有多少关系了,它可能比你想象的要复杂得多。首先,你得获得路网数据,即所有的道路矢量数据。这个百度地图似乎不提供,不过可以购买商用的地图数据。其次,你要会最优路径搜索算法,这个问题就更加有点大了,涉及路径规划算法。这个你可以通过《算法导论》这本书来入门,再通过阅读路径优化相关的最新学术文献来学习。

然而,更加复杂的是,你得知道哪些道路是可以行车的,哪些道路红绿灯多,哪些道路是单行线,哪些道路单双号限行,哪些道路容易堵车,哪些道路会收费...........所以这其实是一个比最短路径规划更复杂的优化问题。

回答问题 2018.04.05

引发的异常: 0xC0000005: 写入位置 0xCDCDCDCD 时发生访问冲突。

答:

所有的scanf函数后面的变量都应该取地址,例如:
将:

scanf_s("%d", p1->num, sizeof(p1->num));

改为:

scanf_s("%d", &p1->num, sizeof(p1->num));
回答问题 2018.04.05

编译没有报错但是运行出错,求解决

答:

所有的scanf函数中的变量,应该传入变量的地址,例如:
将:

printf("请输入金额:\n");
scanf("%f", all[a].amount);

改为:

printf("请输入金额:\n");
    scanf("%f", &all[a].amount);

另外,建议修改代码,消除所有的编译警告。你的问题也是因为你忽略警告造成的。

回答问题 2018.04.04

C#中 reg.Match() 方法返回的值

答:

^(.*)(中心|会场)

回答问题 2018.04.03

windows 应用之间通信如何实现

答:

两个exe的通信,属于进程间通信(即IPC),IPC可通过剪贴板,DDE、邮件槽、Windows消息、管道、内存映射文件、套接字(Socket)等方式进行原生数据的传输,也可以通过组件对象模型(COM)进行更高级的面向对象的通信。

具体选择哪种方式,取决于问题的抽象等级,通信数据量,通信效率,进程耦合性等,需要具体问题具体分析。

回答问题 2018.04.02

C#winform实现运行时用户编写部分代码并能运行这部分代码

答:

以上几位可能没有理解你的意图。我估计你并不是要用户以插件或者组件方式增强你的软件功能,而是希望用户编写一段代码,提供一些自定义功能。这实际上涉及到动态编译和执行问题。不过这个问题也是可行的, 你需要了解一下C#编译器引擎或者python引擎之类的知识。后者实现起来更简单,需要用户用python语法实现一些功能,然后你用python引擎动态运行获取运行结果,再进行进一步的处理。

回答问题 2018.04.02

RBF神经网络预测误差太大

答:

1、一般只要网络模型容量足够大,训练误差总会逐渐逼近零。所以如果训练误差一直不下降,要考虑训练数据本身有没有问题,大致办法是,通过单变量相关性分析,了解数据本身的合理性。
2、如果确定训练数据没问题,就要仔细检查代码本身是否有bug,从你的误差来看,似乎是发散了,并没有收敛。
3、如果代码没问题,例如是调用了一些第三方库,则考虑网络的超参数和训练参数有没有问题。

回答问题 2018.04.02

为什么这段程序没有运行结果呢?我是小白一枚

答:

这是使用非线性规划求解二元函数的极值,代码没有问题。你运行后输出窗口的输出信息是什么?
以下是我在Matlab2016的的运行结果:

>> options = optimoptions(@fminunc,'Display','iter','Algorithm','quasi-newton');
>> fun='exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1)';
>> x0=[-1,1];
>> [x,fval]=fminunc(fun,x0,options)
                                                        First-order 
 Iteration  Func-count       f(x)        Step-size       optimality
     0           3           1.8394                         0.736
     1           9          1.72428       0.368157          0.257  
     2          27        0.0845289        22.5704          0.923  
     3          51         0.072564      0.0012394           1.05  
     4          54       0.00450951              1           0.29  
     5          57      1.15035e-05              1          0.014  
     6          60      2.03682e-07              1        0.00107  
     7          63      3.46174e-12              1       9.29e-06  
     8          66       3.6609e-16              1       7.37e-08  

Local minimum found.

Optimization completed because the size of the gradient is less than
the default value of the optimality tolerance.

<stopping criteria details>


x =

    0.5000   -1.0000


fval =

   3.6609e-16
回答问题 2018.04.01
加载更多