当前位置: 首页 > news >正文

门户网站开发的价格玉林做网站优化推广

门户网站开发的价格,玉林做网站优化推广,如何为wordpress加评论,建筑咨询公司是做什么的⚠️主要是自己温习用,只保证代码正确性,不保证讲解的详细性。 今天继续总结cuda最基本的入门demo。很多教程会给你说conv怎么写,实际上sobel也是conv,并且conv本身已经用torch实现了。 之前在课题中尝试了sobel的变体&#xff0…

⚠️主要是自己温习用,只保证代码正确性,不保证讲解的详细性。

今天继续总结cuda最基本的入门demo。很多教程会给你说conv怎么写,实际上sobel也是conv,并且conv本身已经用torch实现了。

之前在课题中尝试了sobel的变体,为了起一个复习的作用,我把原始sobel(不是变体)的代码备份到这里,比起变体,这个原始的非常简单,很适合学习。

目录

      • 最简单的sobel
      • sobel其实还有其他变体

最简单的sobel

#include <opencv2/opencv.hpp>
#include <iostream>
#include <cuda_runtime.h>
#include <device_launch_parameters.h>using namespace std;
using namespace cv;__global__ void sobel_gpu(unsigned char* in, unsigned char* out, const int Height, const int Width) {int x = blockDim.y * blockIdx.y + threadIdx.y;int y = blockDim.x * blockIdx.x + threadIdx.x;// 只对非边缘地带进行计算if (x > 0 && x < Height - 1 && y > 0 && y < Width - 1) {int idx = x * Width + y;int idx_up = idx - Width;int idx_down = idx + Width;char gx_res = in[idx_up - 1] + 2 * in[idx - 1] + in[idx_down - 1] - in[idx_up + 1] - 2 * in[idx + 1] - in[idx_down + 1];char gy_res = in[idx_up - 1] + 2 * in[idx_up] + in[idx_up + 1] - in[idx_down - 1] - 2 * in[idx_down] - in[idx_down + 1];out[idx] = (gx_res + gy_res) / 2;}else if (x == 0 || x == Height - 1 || y == 0 || y == Width - 1) {int idx = x * Width + y;out[idx] = in[idx];}
}int main() {Mat img = imread("lena.jpg", 0);int height = img.rows;int width = img.cols;int memsize = height * width * sizeof(unsigned char);Mat gaussImg;GaussianBlur(img, gaussImg, Size(3, 3), 0, 0, BORDER_DEFAULT);Mat dst_gpu(height, width, CV_8UC1, Scalar(0));unsigned char* in_gpu;unsigned char* out_gpu;// 接下来对模糊之后的图像进行处理cudaMalloc((void**)&in_gpu, memsize);cudaMalloc((void**)&out_gpu, memsize);dim3 threadsPerBlock(32, 32);dim3 blocksPerGrid((width + threadsPerBlock.x - 1) / threadsPerBlock.x, (height + threadsPerBlock.y - 1) / threadsPerBlock.y);cudaMemcpy(in_gpu, gaussImg.data, memsize, cudaMemcpyHostToDevice);sobel_gpu << < blocksPerGrid, threadsPerBlock > >> (in_gpu, out_gpu, height, width);cudaMemcpy(dst_gpu.data, out_gpu, memsize, cudaMemcpyDeviceToHost);imwrite("save.png", dst_gpu);cudaFree(in_gpu);cudaFree(out_gpu);return 0;
}

感兴趣的小伙伴可以自己去下载这个lena图,我就不提供了,一搜就有。

sobel其实还有其他变体

这个sobel有一些缺点:
在这里插入图片描述
直接看效果吧,这个效果如何不做评价,但是我的课题用这个肯定不是最优解…可以看到在边缘检测(或者直接叫它线条检测吧)上还有可提高的空间。所以现有文件还有什么可训练sobel、八方向sobel(这个我觉得还可以)。

你要是用到深度学习里面,我建议可以试试sobel的变体。

http://www.laogonggong.com/news/87913.html

相关文章:

  • 江苏建设管理信息网站建设银行成都市第九支行 网站
  • 网站seo设计方案案例毕业册个人主页设计
  • 金融公司网站 html最新重大新闻
  • 如何建个人网站北京互联网建站网站
  • 写论文的好网站二维码网站制作
  • 免费做外贸的网站无锡网站制作计划
  • 淘宝网站制作培训wordpress 友情链接
  • 网站别人帮做的要注意什么手续网页设计流程的四个阶段
  • 朔州做网站在哪里可以做企业官网
  • 织梦中英网站怎么做详情页设计要求
  • 网站开发如何报价512内存服务器做网站
  • 电脑版网站转手机版怎么做定制网站开发的目的是什么
  • 西安网站架设公司上海企业名称
  • 个体做敦煌网站怎么样网站设计人员
  • 用网站做数据库吗工作时做网站使用软件
  • asp转换手机网站怎么自己做wordpress主题
  • 北京做网站建设有发展吗wordpress管理员地址
  • 建站平台 在线提交功能手机版网站公司的
  • 免费网站软件免费下载安装百度搜索什么关键词能搜到网站
  • 宝安做网站wordpress三主题公园
  • 网站开发规划方案网站建设的利润率多少
  • 手机网站课程西宁的网站建设
  • 企业网站seo维护设计经典网站
  • 天津网站建设兼职公司搭建网站服务
  • 甘肃美容网站建设电子商务网站开发设计
  • 建立网站需要多少钱 纠正错误湖南岚鸿开发网站流程
  • 个人博客网站logo如何运营自己的网店
  • 做网站资源知乎深圳协会网站建设
  • 在手机上怎么做微电影网站吗张家港安监站网址
  • 个人网站鉴赏网站推广是网站建设完成之后的长期工作