c++ - 在 C++ 中实现 S 型曲线

标签 c++ image pixel formula curve

从 12 小时前开始,我一直在尝试实现 S 形曲线,但我无法成功。

我使用的是 Microsoft Visual Studio 2010。

公式是 y = 1/(1+exp(-e))

然而,当我尝试在代码中实现时它不起作用,为什么?有哪位高手指点一下,谢谢。

for(int y=0; y<bih.biHeight; y++)
{
for(int x=0; x<bih.biWidth; x++)
{   
SetPixel(hdc, (double)1/((double)1+exp(double(-x))), bih.biHeight-x, red);
}
}

最佳答案

(double)1/((double)1+exp(double(-x))) 表达式的结果介于 0 和 1 之间。您不能绘制“子像素”可以你呢?

因此,要修复它,您需要将函数的结果乘以一个值,使其通过可见范围。例如:

(double)1/((double)1+exp(double(-x))) * bih.biHeight

关于c++ - 在 C++ 中实现 S 型曲线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9065607/

相关文章:

android - 如何在未加载图像时使用 volley 解析 json 数据在 ListView 中显示背景图像

javascript - 使用javascript扩展/缩小图像?

javascript - 如何使用 JavaScript/JQuery 打印鼠标拖动距离(以像素为单位)

colors - 从 Kinect 深度流获取像素颜色

c++ - 人脸检测及图片预览图

c++ - 将 T* 数组(Jet* 或 float*)转换为 cv::Mat<CV_32f>

python - 有什么简单的方法可以计算弯曲扇区中图像的像素

iPhone Objective-C : How to get a pixel's color of the touched point on an UIImageView?

c++ - strcat_s 添加奇怪的字符

c++ - 根据不同条件初始化类模板的成员