Tiff超高压缩图片

使用libtiff库,压缩8位深度二值化图片至1位深度

 
path = "C:\\Users\\CodeFlag\\Desktop\\input_0_sel.png";

//Mat img = imread(path,IMREAD_COLOR);
//if(img.channels()>1)
// cvtColor(img,img,CV_BGR2GRAY);
//cv::threshold(img, img, 0, 255, CV_THRESH_BINARY+CV_THRESH_OTSU);
//TIFF *imageWrite = TIFFOpen((path+"out1.tif").c_str(), "w");
//if (imageWrite)
//{
// TIFFSetField(imageWrite, TIFFTAG_IMAGEWIDTH, img.cols);
// TIFFSetField(imageWrite, TIFFTAG_IMAGELENGTH, img.rows);
// TIFFSetField(imageWrite, TIFFTAG_COMPRESSION, COMPRESSION_CCITT_T6);
// TIFFSetField(imageWrite, TIFFTAG_PLANARCONFIG, PLANARCONFIG_CONTIG);
// TIFFSetField(imageWrite, TIFFTAG_PHOTOMETRIC, PHOTOMETRIC_MINISBLACK);
// TIFFSetField(imageWrite, TIFFTAG_BITSPERSAMPLE, 1);
// TIFFSetField(imageWrite, TIFFTAG_SAMPLESPERPIXEL, 1);
// uchar *bits = (uchar*)img.data;
// int widthnew = 0;
// widthnew = ((img.cols+7) / 8);
// uchar * data = new uchar[widthnew];
// for (int i = 0; i < img.rows; i++)
// {
// memset(data, 0, widthnew);
// for (int j = 0; j < widthnew; j++)
// {
// uchar temp_data = 0;
// for (int k = 0; k < 8; k++)
// {
// int temp_value = 0;
// if ((8*j+k)
// {
// temp_value = 1 << (7 - k);
// temp_data += temp_value;
// }
// }
// data[j] = temp_data;

// }
// TIFFWriteScanline(imageWrite, &data[0], i, 0);
// }
// TIFFClose(imageWrite);
//}
//else
//{
// std::cout << "Open file error!" << std::endl;
// exit(1);
//}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值