opencv将16位灰度图片转化为8位

2023-11-07

大家在加载灰度图时,一定要看准图片存储格式位数
opencv默认为8位读取,如果该图为16位,则读取为全0,导致程序出错
以下代码只需修改路径,可以批量处理图片

#include <iostream>
#include <opencv2/opencv.hpp>
#include <string>
#include <stdio.h>
using namespace std;
using namespace cv;
int main(void){
    char buff1[100];
    char buff2[100];
    for(int i=1;i<901;i++){
        sprintf(buff1,"/media/lj/GSP1RMCPRXV/fg_dateset/json/rgb_%d_json/label.png",i);
        sprintf(buff2,"/media/lj/GSP1RMCPRXV/fg_dateset/mask/%d.png",i);
        //sprintf(buff1,"/media/lj/FA68-10A6/test_drug/disp/disp_%d.png",i);
        //sprintf(buff2,"/media/lj/FA68-10A6/test_drug/disp_8/disp_%d.png",i);
        Mat src;
        //Mat dst;
        src=imread(buff1,CV_LOAD_IMAGE_UNCHANGED);
        Mat ff=Mat::zeros(src.rows,src.cols,CV_8UC1);
        for(int k=0;k<src.rows;k++){
            for(int kk=0;kk<src.cols;kk++){
                int n=src.at<ushort>(k,kk);
                ff.at<uchar>(k,kk)=n;
            }
        }
        //src.copyTo(dst);
        //imshow("haha",ff*100);
        //waitKey(0);
        imwrite(buff2,ff);
    }
    return 0;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

opencv将16位灰度图片转化为8位 的相关文章

  • 如何解决 Python 'Pyzbar' 库的导入错误?

    我刚刚开始熟悉 Pyzbar 库 但是当使用decode方法我得到一个错误 这是代码 import cv2 import numpy as np import pyzbar code image cv2 imread C Users Ace
  • 在 Python 3.5 64 位上通过 pip 安装 OpenCV

    我尝试安装 OpenCV 但找不到任何合适的 pip 软件包 我决定上网查找有关如何安装它的官方文档 并发现this https opencv python tutroals readthedocs io en latest py tuto
  • bitblt 在 Windows 10 版本 1703 上失败 (15063.138)

    使用 Visual Studio 2017 vc141 以下代码应该从前游戏窗口获取屏幕截图 但现在它返回黑色和空白图像 唯一的游戏问题 尝试过 OpenGL 和 Vulkan ogl 返回黑色 vulkan 返回白色 在升级到 Windo
  • opencv createsamples没有错误,但是没有找到样本

    我在用着this http coding robin de 2013 07 22 train your own opencv haar classifier html教程 我正在根据我的正面图像创建大量样本 我正在使用 Windows 这是
  • 我是否必须使用我的数据库训练 Viola-Jones 算法才能获得准确的结果?

    我尝试提取面部数据库的面部特征 但我认识到 Viola Jones 算法在两种情况下效果不佳 当我尝试单独检测眼睛时 当我尝试检测嘴巴时 运作不佳 检测图像的不同部分 例如眼睛或嘴巴 或者有时会检测到其中几个 这是不可能的情况 我使用的图像
  • 如何删除树莓派的相机预览

    我在我的 raspberryPi 上安装了 SimpleCv 并安装了用于使用相机板的驱动程序 uv4l 驱动程序 现在我想使用它 当我在 simpleCV shell Camera 0 getImage save foo jpg 上键入时
  • 使用opencv计算深度视差图

    我无法使用 opencv 从视差图计算深度 我知道两个立体图像中的距离是用以下公式计算的z baseline focal disparity p 但我不知道如何使用地图计算视差 我使用的代码如下 为我提供了两个图像的视差图 import n
  • Python中最相似的人脸识别

    如何使用Python和OpenCV来查找面部相似 我已成功使用 OpenCV 和 Python 使用 Haar Cascades 从多张照片中提取人脸 我现在有一个图像目录 所有这些都是不同人的面孔 我想做的是拍摄一张样本图像 然后看看它最
  • OpenCV 错误:使用 COLOR_BGR2GRAY 函数时断言失败

    我在使用 opencv 时遇到了一个奇怪的问题 我在 jupyter 笔记本中工作时没有任何问题 但在尝试运行此 Sublime 时却出现问题 错误是 OpenCV错误 cvtColor中断言失败 深度 CV 8U 深度 CV 16U 深度
  • 当我将鼠标移到 Mat 关键字上时,Visual Studio 2017 冻结(OpenCv 3.4.1)

    我想在 Visual Studio 2017 中开发 openCv 项目 我下载了 opencv 预构建库并进行了必要的设置 那是 1 我添加了系统路径 build x64 vc14 bin 2 在 Visual Studio 中的项目属性
  • 指纹奇异点检测

    我正在尝试确定指纹的核心点和增量点 我正在使用庞加莱指数方法 但我无法成功检测到这一点 而且我不明白为什么 First I divide the image in 15x15 blocks then I calculate the x an
  • 如何在 OpenCV 中从 YUV 文件读取帧?

    如何在 OpenCV 中从 YUV 文件读取帧 我编写了一个非常简单的 python 代码来从二进制文件读取 YUV NV21 流 import cv2 import numpy as np class VideoCaptureYUV de
  • OpenCV Visual Studio ntdll.dll

    我尝试在 Visual Studio 2013 上使用 OpenCV 2 4 10 创建一个项目 但由于以下异常 到目前为止我运气不佳 请建议帮助 TIA letstryitonemoretime exe Win32 Loaded C Us
  • 检查图像中是否有太薄的区域

    我正在尝试验证雕刻机的黑白图像 更多的是剪贴画图像 不是照片 我需要考虑的主要事情之一是区域的大小 或线条的宽度 因为机器无法处理太细的线条 所以我需要找到比给定阈值更细的区域 以此图为例 竖琴的琴弦可能太细而无法雕刻 我正在阅读有关 Ma
  • 仅获取图像中的外部轮廓

    我有这段代码 可以在图像中绘制轮廓 但我只需要外部轮廓 import cv2 import numpy as np camino C Users Usuario Documents Deteccion de Objetos 123 jpg
  • minAreaRect OpenCV 返回的裁剪矩形 [Python]

    minAreaRectOpenCV 中返回一个旋转的矩形 如何裁剪矩形内图像的这部分 boxPoints返回旋转矩形的角点的坐标 以便可以通过循环框内的点来访问像素 但是在 Python 中是否有更快的裁剪方法 EDIT See code在
  • uri 警告中缺少端口:使用 Python OpenCV cv2.VideoCapture() 打开文件时出错

    当我尝试流式传输 ipcam 时 出现了如下所示的错误 tcp 000000000048c640 uri 中缺少端口 警告 打开文件时出错 build opencv modules videoio src cap ffmpeg impl h
  • OpenCV 错误:connectedComponents_sub1 中断言失败 (L.channels() == 1 && I.channels() == 1) [关闭]

    Closed 这个问题需要调试细节 help minimal reproducible example 目前不接受答案 我在 OpenCV python 中遇到以下错误 并用 google 搜索了很多 但无法解决 如果有人能为我提供一些线索
  • 使用 OpenCV 改进特征点匹配

    我想匹配立体图像中的特征点 我已经用不同的算法找到并提取了特征点 现在我需要一个良好的匹配 在本例中 我使用 FAST 算法进行检测和提取 BruteForceMatcher用于匹配特征点 匹配代码 vector lt vector
  • 从包含带边框的表格的图像中提取表格结构

    我正在尝试提取下表中的单元格位置 应用自适应阈值处理后 我能够获得细胞位置周围的轮廓 并且 HoughLines 获得垂直和水平结构元素 这是我的代码 img cv2 imread os path join img path file im

随机推荐

  • MS08-067远程代码执行漏洞(CVE-2008-4250)

    MS08 067远程代码执行漏洞 CVE 2008 4250 Windows Server服务RPC请求缓冲区溢出漏洞复现 文章目录 MS08 067远程代码执行漏洞 CVE 2008 4250 Windows Server服务RPC请求缓
  • anaconda使用系列教程--5)安装anaconda环境到指定位置

    背景 anaconda的环境都比较大 如果安装到根目录很快就会把根目录占满 最好能指定新建环境的安装路径 方法 方法就是在conda create命令加上选项 prefix即可 安装虚拟环境到指定路径的命令如下 conda create p
  • 数据库文件加密

    配置MySQL数据库连接 spring datasource driver class name com mysql jdbc Driver spring datasource url jdbc mysql 121 196 xxx xxx
  • STM32自己写printf函数方法(不用重定向)

    stm32有几个串口可以使用 当我们想用printf打印数据到上位机时 通常是使用fput重定向 当我们要多个串口使用printf格式函数时 可以在写一个类似printf的函数 include
  • PyTorch 源码解读之 nn.Module:核心网络模块接口详解

    目录 0 设计 1 nn Module 实现 1 1 常用接口 1 1 1 init 函数 1 1 2 状态的转换 1 1 3 参数的转换或转移 1 1 4 Apply 函数 1 2 属性的增删改查 1 2 1 属性设置 1 2 2 属性删
  • Spring Boot(一):开始使用

    背景 其实Spring Boot很早就使用过 但由于之前未做深入的研究且目前工作中所使用的技术也并未涉及 所以导致对其使用依然不是很熟悉 正是因为用过Spring Boot才懂得它的好用之处 但目前开发的项目使用的技术较为落后 导致开发效率
  • 探究:秒杀系统

    1 秒杀系统的特点 瞬时高并发 2 预防措施 2 1 流量限制 对于一个相同的用户 限制请求的频次 对于一个相同的IP 限制请求的频次 验证码 减缓用户请求的次数 活动开启之前 按钮先置灰 防止无效的请求流入系统 给系统造成冲击 2 2 页
  • LOL-v2数据集和VE-LOL数据集的区别

    LOL v2数据集和VE LOL数据集的区别 LOL v2 LOL v2数据集 64 包括两个不同的子集 即LOL v2 real和LOL v2 synthetic LOL v2 real子集是通过改变ISO和曝光时间在真实场景中捕获的 包
  • git merge&rebase区别

    merge rebase两个分支合并操作 各有利弊 我们先看看表现吧 假如master和feature分支如下 如果我们merge操作 我们看到 合并时候 作为一个新提交作为一个新节点 head指针移动到最新master分支 feature
  • linux定时执行php脚本方法

    网站运营过程中 经常会遇到需要定时执行php脚本的情况 这次介绍linux系统定时执行php脚本方法 crontab crontab的服务进程名为crond 英文意为周期任务 crontab在Linux主要用于周期定时任务管理 通常安装操作
  • 胡立阳:如何判断股价见底

    胡立阳 如何判断股价见底 发表时间 2007年11月28日 17时56分 评论 浏览 248 213844 腾讯证券 最近A股指数在6100点一路下滑 跌破半年线 国内各个媒体众说纷纭 观点不一 都在判断底部到底在哪里 就此问题 腾讯证券连
  • AntD的Table表头title加Icon图标和气泡提示Tooltip

    如图 想在Table表单中的描述后面加上Icon图标和气泡提示Tooltip 第一时间找了AntD文档 找到搜索功能及相应图标 filterDropdown和filterIcon 也在百度上找到https www jianshu com p
  • QT基础(入门)

    对QT文件中的 pro文件解释 QT core gui QT包含的模块 QT中的快捷键 注释 ctr 运行 ctrl r 编译 ctrl b 查找 ctrl f 整行移动 ctrl shift 向上键 向下键 帮助文档 F1 自动对齐 ct
  • Android Studio NDK JNI 编程最小白最简单入门Demo

    Android Studio 编写JNI有两种方式 通过ndk build编写 和eclipse类似 需要配置Android mk Application mk文件 之前的一些开源库还是使用此种方式编写 so 因此还是需要了解此种方式 通过
  • C++拷贝构造函数详解

    一 什么是拷贝构造函数 首先对于普通类型的对象来说 它们之间的复制是很简单的 例如 int a 100 int b a 而类对象与普通对象不同 类对象内部结构一般较为复杂 存在各种成员变量 下面看一个类对象拷贝的简单例子 include
  • Qlik Sense Desktop 初步体验

    点击进入 QlikView QlikSense 社区 交流群 432998033 Qlik Sense Desktop 的案例展示 先上几个刚刚边看边学完成的几个报表案例效果 如果图片显示不正常 可以重新刷新一下页面显示 个人感觉报表的设计
  • C语言扫雷游戏

    一 思路 设计两个二维数组 mine和show mine用来存放布置雷的信息 show用来存放排查雷的信息 mine数组初始化为 0 布置雷时改为 1 show数组初始化为 排除雷后改为数字字符 周围有几个雷就为数字几 二 game函数 先
  • 【Spring

    应用上下文 应用上下文和资源路径 构造应用上下文 构造ClassPathXmlApplicationContext实例 快捷方式 使用通配符 蚂蚁式图案 类路径 前缀 应用上下文和资源路径 本节介绍如何使用资源创建应用程序上下文 包括使用
  • 线程的生命周期

    线程的生命周期
  • opencv将16位灰度图片转化为8位

    大家在加载灰度图时 一定要看准图片存储格式位数 opencv默认为8位读取 如果该图为16位 则读取为全0 导致程序出错 以下代码只需修改路径 可以批量处理图片 include