【笔记】Opencv 绘制朱利亚(Julia)集合图形
#include <Windows.h>
#include<highgui/highgui.hpp>using namespace cv;const int icount = 200; //迭代次数const float c = -0.85; //实部
const float d = 0.088; //虚部
double m_real, m_image; //Mandelbro集class ComplexClass
{
public:double real;double image;ComplexClass(double r = 0, double i = 0) { real = r, image = i; }
};ComplexClass operator+(const ComplexClass& a, const ComplexClass &b)
{ComplexClass c;c.real = a.real + b.real;c.image = a.image + b.image;return c;
}ComplexClass operator*(const ComplexClass& a, const ComplexClass &b)
{ComplexClass c;c.real = a.real * b.real - a.image * b.image;c.image = a.image * b.real + a.real * b.image;return c;
}double Model(ComplexClass a)
{return sqrtf(a.real * a.real + a.image * a.image);
}double Iteration(ComplexClass a, int n)
{if (n == 0)return Model(a);else{ComplexClass temp = a*a;temp.real += c;temp.image += d;// temp.real += m_real; 把这两句代替前面的两句就是mandelbrot集了// temp.image += m_image;return Iteration(temp, n - 1);}
}Vec3b dye(double dist)
{if (dist < 1000000 && dist>-1000000)return Vec3b(255, 0, 0);elsereturn Vec3b(0, 0, 0); //Julia集之外的区域置为黑色
}int main()
{Mat image = Mat(Size(500, 500), CV_8UC3, Scalar::all(10));for (int Y = 0; Y < image.rows; Y++){for (int X = 0; X < image.cols; X++){float x = (X - image.cols / 2) / 200.0;float y = (Y - image.rows / 2) / 200.0;m_real = x;m_image = y;ComplexClass a(x, y);float dist = Iteration(a, icount);image.at<Vec3b>(Y, X) = dye(dist);}}//namedWindow("OpenCV For Julia", 0);imshow("OpenCV For Julia | c = -0.85 d = 0.088", image);waitKey();
}
【笔记】Opencv 绘制朱利亚(Julia)集合图形相关推荐
- Python实现朱利亚集算法及完整源码
Python实现朱利亚集算法及完整源码 朱利亚集是一种数学图形,它的形态多变,美丽而神秘.在计算机绘图领域,朱利亚集被广泛应用,并因此成为了数字艺术的重要组成部分. 在本文中,我将向大家介绍如何使用P ...
- python用函数绘制椭圆_Python学习笔记——opencv绘制椭圆
在Python环境下使用opencv绘制椭圆,需要用到cv2.ellipse() 函数. 下面一段示例程序就是用该函数在黑色背景下,绘制一个圆心在(260,240).长轴170.短轴130.线宽为3的 ...
- 使用Python,OpenCV对图像进行亚像素点检测,并拟合椭圆进行绘制
这篇博客将介绍如何使用Python,OpenCV对图像进行亚像素检测,并对亚像素点进行椭圆拟合绘制. 1. 效果图 原始图上绘制拟合椭圆 VS 原始图上绘制拟合椭圆及亚像素点绘制随机半径及颜色的圆 V ...
- NBA名人堂之-朱利叶斯·欧文|埃尔文·海耶斯|多尔夫·谢伊斯|鲍勃·佩蒂特|戴夫·冰
朱利叶斯·欧文 英文名:Julius Erving 出生:1950年2月22日 身高:2.01米 NBA生涯:1976-1983年 司职:前锋 主要荣誉: ①1983年获NBA总冠军: ②5次入选NB ...
- 使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果
使用Python,Opencv绘制调色板及圆形来模拟霓虹的渐变效果 1. 效果图 2. 源码 参考 这篇博客将使用python,opencv绘制调色板及圆形来模拟霓虹的渐变效果. 1. 效果图 可以构 ...
- 计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~
计算机视觉开源库OpenCV绘制轮廓,并将轮廓排序~示例效果如下: 原图: 示例代码如下: #!/usr/bin/env python3import cv2def sort_contours(cnts ...
- OpenCV绘制等高线Contours的实例(附完整代码)
OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 OpenCV绘制等高线Contour的实例 #include "opencv2/imgproc.hpp ...
- [Python从零到壹] 三十五.图像处理基础篇之OpenCV绘制各类几何图形
欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...
- 中班机器人教室设计方案_奇思妙想一起玩,机器人来了安格利亚东郡生态幼儿园亲子活动...
奇思妙想一起玩 机器人总动员亲子活动 课程起源 有一天午休起床几个小女生正排队梳辫子,因为需要等待,孩子们比较无聊就在看教室的摆件,突然小朋友们就用机器人的语调开始对话,我听到后感觉很有意思也用机器人 ...
- 变量命名 – 匈利亚命名法则 - C语言零基础入门教程
目录 1.属性部分 2.类型部分 3.描述部分 4.MFC.句柄.控件及结构的命名规范 5.变量命名规范 6.库标识符命名法 7.举例 8.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ ...
最新文章
- oracle导入与导出,oracle导入与导出
- Linq表达式、Lambda表达式你更喜欢哪个?
- android adb wifi
- SPFA的两个优化:SLF与LLL
- matplotlib的颜色和控制条
- 你可真行呀的飞鸽传书
- chrome 63 android分类,Chrome 63 Beta新特性介绍
- php数据库密码查询,php数据库查询及密码匹配的功能
- 服务器bios 虚拟化,hp服务器bios开启虚拟化(hp主板开启虚拟化)
- Markdown中设置图片尺寸及添加图注
- [乐意黎原创]PHP 老司机指南
- 学习日志之synthesis and optimization(7)——Heuristic optimization
- 怎样下载网页上的视屏到本地
- unity3D中导出webgl并使用js进行交互
- 什么是GPU,GPU怎么工作的,什么是图形的渲染,渲染怎么完成的。
- arduino nano 蓝牙_ESP32模拟无线蓝牙鼠标自制翻页笔神器
- java中的文件存储_File存储 - 文件存储
- java u盘_Java检测Windows的U盘插入详解
- Python 练习实例100例—5
- EmguCV的配置和获取摄像头画面
热门文章
- (源码)在LibVLC中增加录制接口libvlc_media_player_recorder_start
- 《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 3]
- 增量式光电编码器原理及其结构
- SQL Server维护计划自动备份数据库
- 整理一下vue 移动端模板框架搭建
- java 错误: 无法将类 Customer中的构造器 Customer应用到给定类型
- Word文档自动生成目录方法,一看就会!还会自动更新
- Android 音视频采集那些事
- 说一说科大讯飞Windows版本唤醒功能10102功能的问题
- iOS 开发 Provisioning Profile(描述文件) 详解