如何使table的表格线变成单条细线

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使table的表格线变成单条细线相关的知识,希望对你有一定的参考价值。

参考技术A EXCEL中表格自带功能并未有此神奇功能。
比较简单的办法是全选表格,然后将所有边框粗线有选择的变成细线。
如果只是想将粗线变细线,而其余地方不动的话,可以用VBA宏。
宏比较简单,第一步选录制,在录制过程中手动操作将一条粗线变成细线,然后结束录制获得代码,再将该代码补充完善即可。本回答被提问者采纳

如何使用 OpenCV 将细线提取为单独的轮廓/连接组件?

【中文标题】如何使用 OpenCV 将细线提取为单独的轮廓/连接组件?【英文标题】:How to extract thin lines as separate contours/connected components with OpenCV? 【发布时间】:2011-02-05 16:27:16 【问题描述】:

我在图像上使用了距离变换细化。现在尝试单独提取每个连接的组件 - 如果有两条细线,那么它应该检测到三个这样的单独的线和组件。

/*finding contours*/
IplImage *cc_color; 
cc_color = cvCreateImage(cvGetSize(thin_img), IPL_DEPTH_8U, 3);


    CvMemStorage *mem;
mem = cvCreateMemStorage(0);


int count = 0;
char* ch = new char [2];

CvSeq *contours = 0;

  CvSeq *ptr;
/*finding contours of morphed image*/
cvFindContours(thin_img, mem, &contours, sizeof(CvContour), CV_RETR_CCOMP,       CV_CHAIN_APPROX_SIMPLE, cvPoint(0,0));

    /*all contours on one image - random coloring*/
for (ptr = contours; ptr != NULL; ptr = ptr->h_next) 
    
            CvScalar ext_color = CV_RGB( rand()&255, rand()&255, rand()&255 ); /*randomly coloring different contours*/
            cvDrawContours(cc_color, ptr, ext_color, CV_RGB(0,0,0), -1, CV_FILLED, 8, cvPoint(0,0));          
    

thin_image 是输入。输出应将每条线随机着色为不同的轮廓/组件。但是,它仅将闭合形状检测为轮廓。我如何将 lines 检测为组件??

输出图片:

输入图片:

红色框表示应被检测为组件的示例部件。但只检测到闭合形状。

【问题讨论】:

【参考方案1】:

如果您正在寻找线条/边框作为组件而不是内部区域,您应该在应用 findContours 之前反转 thin_image(黑色 -> 白色和白色 -> 黑色)。

【讨论】:

谢谢。这次奏效了。这是我之前错误的原因 - 因为细线是黑色的 cvFindContours() 将它们视为 boundaries 而不是对象?在反转之后,它们被视为对象而不是边界。我希望在以后的开发中能够清楚地说明原因,所以请解释一下。 是的,黑色是“边界”,白色是“物体”。

以上是关于如何使table的表格线变成单条细线的主要内容,如果未能解决你的问题,请参考以下文章

1、分别用table和div实现一个细线表格(3行3列,表格边框1px(红色),单元格200px*200px)

table表格高级用法

如何在表格单元格之间创建细线

表格和列表样式

表格使用总结

课时40.表格中的其它标签(理解)